Мой Пакетный файл test.batпобег имя диска в пакетном файле
C:\Windows\System32\cmd.exe /c FOR /D %i IN (C:\ProgramData\PuppetLabs\puppet\etc\ssl\*) DO RD /S /Q "%i"
Когда я запускаю выше команды вручную из командной строки, он хорошо работает и удаляет все содержимое из C: \ ProgramData \ PuppetLabs \ кукольный \ и т.д. \ SSL.
Теперь же команда при использовании в пакетном файле и при запуске пакетного файла, она возвращает:
C:> test.bat
C:\>C:\Windows\System32\cmd.exe /c FOR /D \ProgramData\PuppetLabs\puppet\etc\ssl\*) DO RD /S /Q "i"
\ProgramData\PuppetLabs\puppet\etc\ssl\*) was unexpected at this time.
Над выходом пропустить (С: от пакетный файл.
Любая идея? Спасибо за помощь заранее.
Необходимо удвоить символы процента в пакетном файле. – Squashman
И это помогает прочитать файл HELP для команды, которую вы пытаетесь использовать. 'Чтобы использовать команду FOR в пакетной программе, укажите переменную %% вместо переменной%. Переменные имена чувствительны к регистру, поэтому% i отличается от от% I.' – Squashman
. Следует также отметить, что вам не нужно использовать 'cmd.exe/c' в своем командном файле или в командной строке cmd. Просто используйте команду FOR напрямую. – Squashman