Я очень новичок в пакетных файлах. Я пытаюсь написать скрипт, чтобы найти этот файл:

<A>\Org\App\<B>\<C>\SQL Scripts\Miscellaneous\CRErrorFinder.exe

где A - любой диск, B - имя папки, а C - имя папки, которое должно начинаться с известного номера (пример: 85).

Пример значения A: C:

Пример значения B: TEST

Пример значения C: 850-0

Что я пробовал: я могу перебрать диски, чтобы получить корневую папку поиска (что-то вроде C:\Org\App\ или D:\Org\App\), а затем использовать еще два цикла для B и C. Но есть ли короче способ добиться того, что я здесь делаю?

1 ответ1

1

Чтобы остановиться после первой попытки, попробуйте это:

@Echo off
Set "Drives=A: C:" 
For %%A in (%Drives%
  ) Do For /D in %%B ("%%~A\Org\App\*"
    ) Do for /D in %%C in ("%%~fB\85*"
      ) Do if exist "%%~fC\SQL Scripts\Miscellaneous\CRErrorFinder.exe" (
           Set "Find=%%~fC\SQL Scripts\Miscellaneous\CRErrorFinder.exe"
        goto :Found
      )
Echo nothing found
pause
goto :Eof
:Found
Echo Found file:%Find%

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