Как выполнить пакетный файл в папке, сбросив папку в файле - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть небольшой командный файл, который выполняет несколько простых строк кода.

Это прекрасно работает, когда я помещаю в Папку и запускаю ее.

Однако файл должен располагаться на уровне выше его и иметь возможность запускаться, если на него перетащить папку.

Когда я в данный момент помещаю в нее папку, она просто выполняет код, как если бы я просто дважды щелкнул по ней. Однако он должен вести себя так, как если бы файл находился внутри папки.

@echo off

for %%a in (*.*) do @echo %%~na >> filenames.txt
)

pause

Как бы я это сделал?

Я не хочу применять его к каждой выбранной папке, просто перетаскивая ее в файл.

Я хочу создать файл из всех имен файлов в папке.

, который затем будет сравниваться с другим файлом, созданным из другой папки.

@echo off
echo new additions > test3.txt
findstr /vixg:shots.txt shots2.txt >> test3.txt
echo removed >> test3.txt
findstr /vixg:shots2.txt shots.txt >> test3.txt

Полагаю, я не могу автоматизировать сравнение, поместив две папки в файл, могу ли я?

1 Ответ

0 голосов
/ 08 ноября 2018

Я не на 100% уверен, что вы хотите, но я предполагаю, что вы хотите сопоставить shots.txt, который находится в folder1 с shots2.txt в folder2. Примерно так должно работать, если это так:

@echo off
echo new additions > test3.txt
if exist "%1\shots.txt" (findstr /vixg:"%1\shots.txt" "%2\shots2.txt" >> test3.txt)
if exist "%2\shots.txt" (findstr /vixg:"%2\shots.txt" "%1\shots2.txt" >> test3.txt)
echo removed >> test3.txt
if exist "%1\shots2.txt" (findstr /vixg:"%1\shots2.txt" "%2\shots.txt" >> test3.txt)
if exist "%2\shots.txt" (findstr /vixg:"%2\shots2.txt" "%1\shots.txt" >> test3.txt)

Затем вы можете выбрать 2 папки, содержащие файлы, и поместить их в пакетный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...