Почему выполнение в оболочке дает другой результат, чем выполнение в пакетном скрипте?
Я хотел бы перечислить все файлы.csv в каталоге и его подкаталогах. Это хорошо работает, когда я запускаю это в терминале cmd:
for /f %a in ('dir /b /s *.csv') do (echo %a)
Когда я помещаю ту же строку кода в (иначе пустой) текстовый файл (.cmd) и запускаю этот файл.cmd, он выводит пустую строку, но не перечисляет никаких файлов.
Почему имеет значение, положил ли я команды в скрипт или ввел их напрямую (за один раз) в терминал?
Думая, что это может быть проблема с отложенным расширением, я также попытался for /f %a in ('dir /b /s *.csv') do (echo !a!)
, но это также не список файлов.
Есть идеи?
1 ответ
Удвойте символы процента в пакетном файле!
for /f %%a in ('dir /b /s *.csv') do (echo %%a)