2017-02-01 2 views
0

Мой Пакетный файл 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. 

Над выходом пропустить (С: от пакетный файл.

Любая идея? Спасибо за помощь заранее.

+0

Необходимо удвоить символы процента в пакетном файле. – Squashman

+0

И это помогает прочитать файл HELP для команды, которую вы пытаетесь использовать. 'Чтобы использовать команду FOR в пакетной программе, укажите переменную %% вместо переменной%. Переменные имена чувствительны к регистру, поэтому% i отличается от от% I.' – Squashman

+0

. Следует также отметить, что вам не нужно использовать 'cmd.exe/c' в своем командном файле или в командной строке cmd. Просто используйте команду FOR напрямую. – Squashman

ответ

1

проблема заключается в другом!

Обратите внимание, что в вашем выводе отсутствует %i при запуске из командной строки? И много разных вещей, а также до вашего следующего %i из командной строки?

При использовании для цикла в пакетном режиме, вы должны бежать один знак процента с другой для параметра цикла:

C:\Windows\System32\cmd.exe /c FOR /D %%i IN (C:\ProgramData\PuppetLabs\puppet\etc\ssl*) DO RD /S /Q "%%i" 

должен работать :)

+0

Большое спасибо. Это решило мою проблему. – Viral

+0

@ Вирусный Рад это слышать! Обратите внимание, что вы можете принять ответ, который решил вашу проблему, нажав на серое галочку рядом с ним. Это не только поможет сохранить чистую систему, но и вознаградит вас :) – geisterfurz007

0

Вы пробовали его без цикл for?

Cmd.exe /C RD /S /Q "C:\ProgramData\PuppetLabs\puppet\etc\ssl*" 
Смежные вопросы