Я перебираю папки на диске, собираю имена файлов с определенными расширениями и строю строку, которая позже используется в переключателе командной строки. Когда я нахожу соответствующий файл, мне нужно знать его полный путь, так как это то, что требуется в командной строке. В настоящее время я использую «% ~ dp0 %% a \ %% b» для построения полного пути, но я вижу, что позже могут возникнуть ограничения, когда пакет становится более сложным (например, он копает глубже в подпапки). Я надеюсь, что есть способ заменить "% ~ dp0 %% a \ %% b" на путь к найденному файлу. Спасибо:
@ECHO OFF
for /f "usebackq tokens=*" %%a in (`dir /b /a:d`) do (
pushd %%a
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%b in ('dir /b "*.E01" "*.L01" "*.AD1" 2^>nul') do (
SET EVIDENCE_STR=!EVIDENCE_STR! /e:"%~dp0%%a\%%b"
)
IF DEFINED EVIDENCE_STR (
ECHO !EVIDENCE_STR!
) ELSE (
ECHO No evidence files located in: %%a
)
endlocal
SET EVIDENCE_STR=
popd
)
PAUSE