![]() |
Переменная cmd
Доброе время суток!
У меня вопрос по поводу переменных в cmd- и bat-скриптах: есть батник такой, который удаляет в определённых мной папках файлы, по соответствующим расширениям (он работает): Код:
set i=del "%userprofile%\Stark industries\Developments\ Код:
set i=del "%userprofile%\Stark industries\Developments\ Код:
set i=del "%userprofile%\Stark industries\Developments\ *Примечание: это - только фрагмент скрипта (оригинал занимает несколько страниц), поэтому данные действия я хочу выполнить для более компактного вида. |
Bruce Wayne, например, так:
|
Iska, спасибо большое за помощь, но не работает батник - мелькает окно и всё :( Говорит, что "не удаётся найти указанную метку пакетного файла - DelByMask".
|
Bruce Wayne,
А зачем такая галиматья с переменными? Запихни все в цикл и удаляй: Код:
for %%i in ("%userprofile%\Stark industries\Developments" "%programfiles%\Stark industries") do ( |
Цитата:
Код:
for %%i in ("%userprofile%\Stark industries\Developments" "%programfiles%\Stark industries") do ( Цитата:
|
Цитата:
|
Foreigner, я к тому, что в общем случае (не в данном, конкретном) маски могут быть сложными, и так просто вычленить в перебор одни расширения (и приписывать шаблон в конечной команде) не всегда будет возможным.
|
Iska, да, действительно, всё работает!) Спасибо большое за помощь Вам и Foreigner! Извините за то, что усомнился. :up
P. S. Э... Только один вопрос ещё: как сделать так, чтобы он ещё и из вложенных папок удалял? P. P. S. А, всё, сам понял: нужно строчку Код:
2>nul del /f /q "%sPath%\%sMask%" Код:
2>nul del /f /q /s "%sPath%\%sMask%" |
Код:
REM @Echo off |
Devils0411, значение присваивается, но не подставляется в команду START, так как командная строка формируется ДО команды присвоения, нужно использовать отложенное раскрытие переменных:
Код:
start /wait .\%1-%2-%3 /!silent! /norestart |
Время: 18:38. |
Время: 18:38.
© OSzone.net 2001-