Уважаемые эксперты Batch Script,

У меня есть следующие файлы (их слишком много):

F:\ABC\NAME1\2018\Q2\07 JUL\RANDOM NUMBER1\MSG.DAT
F:\ABC\NAME2\2018\Q3\07 JUL\RANDOM NUMBER2\MSG.DAT
F:\ABC\NAMEA\2018\Q3\08 AUG\RANDOM NUMBER3\MSG.DAT
F:\ABC\NAMEB\2018\Q3\09 SEP\RANDOM NUMBER4\MSG.DAT
F:\ABC\NAME3\2018\Q4\09 SEP\RANDOM NUMBER5\MSG.DAT

Я пытаюсь выполнить программу (program1.exe) из командного файла и указать путь к файлу (необходимый полный путь) в качестве аргумента командной строки.

"C:\Program Files (x86)\Program1.exe" "the required full path"

Я изо всех сил пытаюсь найти URL для файлов MSG.DAT в подпапке Q3, например.

Ваша помощь будет высоко ценится.

1 ответ1

0

В пакетном режиме вам придется разделить задачу на 2 части,

  • 1-й поиск папок q3 с for /r /d (необходим псевдо подстановочный знак)
  • 2-й итерации их и рекурсивного поиска FILE MSG.DAT

@Echo off
For /r "F:\" /D %%A in (Q3?) Do For /F "delims=" %%B in (
   'Dir /B /S "%%A\MSG.DAT" 2^>NUL '
) Do Echo "C:\Program Files (x86)\Program1.exe" "%%~fB"
pause

Если вывод выглядит нормально, удалите эхо во 2-й последней строке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .