Bruce Wayne
26-02-2012, 23:24
Доброе время суток!
У меня вопрос по поводу переменных в cmd- и bat-скриптах: есть батник такой, который удаляет в определённых мной папках файлы, по соответствующим расширениям (он работает):
set i=del "%userprofile%\Stark industries\Developments\
set e=" /s /q
%i%*.strk%e%
%i%*.cmp%e%
%i%*.tech%e%
%i%*.temp%e%
%i%*.hjk%e%
set i=del "%programfiles%\Stark industries\
%i%*._mp%e%%i%*.strk%e%
%i%*.cmp%e%
%i%*.tech%e%
%i%*.temp%e%
%i%*.hjk%e%
set i=del "%allusersprofile%\Stark industries\Technologies
%i%*.strk%e%
%i%*.cmp%e%
%i%*.tech%e%
%i%*.temp%e%
%i%*.hjk%e%
Так вот, я хотел бы объединить все команды с удалением файлов по расширению в переменную, меняя при этом только переменные пути, но ничего не получается, видимо, я где-то допускаю ошибку, а какую - не знаю.
set i=del "%userprofile%\Stark industries\Developments\
set e=" /s /q
set k=(
%i%*.strk%e%
%i%*.cmp%e%
%i%*.tech%e%
%i%*.temp%e%
%i%*.hjk%e%
)
set i=del "%programfiles%\Stark industries\
%k%
set i=del "%allusersprofile%\Stark industries\Technologies
%k%
Ещё вот так пробовал:
set i=del "%userprofile%\Stark industries\Developments\
set e=" /s /q
set k=%i%*.strk%e% && %i%*.cmp%e% && %i%*.tech%e% && %i%*.temp%e% && %i%*.hjk%e%
%k%
set i=del "%programfiles%\Stark industries\
%k%
set i=del "%allusersprofile%\Stark industries\Technologies
%k%
Он (батник) выполняет операции только для первого пути (%userprofile%\Stark industries\Developments), а остальные - игнорирует (дважды делает поиск первого типа файлов *.strk в первом пути %userprofile%\Stark industries\Developments). То есть, получается, что батник не перезаписывает переменную... Как переправить именно этот вариант, если такое возможно? Подскажите, пожалуйста, кто знает, очень нужно! Заранее спасибо!
*Примечание: это - только фрагмент скрипта (оригинал занимает несколько страниц), поэтому данные действия я хочу выполнить для более компактного вида.
У меня вопрос по поводу переменных в cmd- и bat-скриптах: есть батник такой, который удаляет в определённых мной папках файлы, по соответствующим расширениям (он работает):
set i=del "%userprofile%\Stark industries\Developments\
set e=" /s /q
%i%*.strk%e%
%i%*.cmp%e%
%i%*.tech%e%
%i%*.temp%e%
%i%*.hjk%e%
set i=del "%programfiles%\Stark industries\
%i%*._mp%e%%i%*.strk%e%
%i%*.cmp%e%
%i%*.tech%e%
%i%*.temp%e%
%i%*.hjk%e%
set i=del "%allusersprofile%\Stark industries\Technologies
%i%*.strk%e%
%i%*.cmp%e%
%i%*.tech%e%
%i%*.temp%e%
%i%*.hjk%e%
Так вот, я хотел бы объединить все команды с удалением файлов по расширению в переменную, меняя при этом только переменные пути, но ничего не получается, видимо, я где-то допускаю ошибку, а какую - не знаю.
set i=del "%userprofile%\Stark industries\Developments\
set e=" /s /q
set k=(
%i%*.strk%e%
%i%*.cmp%e%
%i%*.tech%e%
%i%*.temp%e%
%i%*.hjk%e%
)
set i=del "%programfiles%\Stark industries\
%k%
set i=del "%allusersprofile%\Stark industries\Technologies
%k%
Ещё вот так пробовал:
set i=del "%userprofile%\Stark industries\Developments\
set e=" /s /q
set k=%i%*.strk%e% && %i%*.cmp%e% && %i%*.tech%e% && %i%*.temp%e% && %i%*.hjk%e%
%k%
set i=del "%programfiles%\Stark industries\
%k%
set i=del "%allusersprofile%\Stark industries\Technologies
%k%
Он (батник) выполняет операции только для первого пути (%userprofile%\Stark industries\Developments), а остальные - игнорирует (дважды делает поиск первого типа файлов *.strk в первом пути %userprofile%\Stark industries\Developments). То есть, получается, что батник не перезаписывает переменную... Как переправить именно этот вариант, если такое возможно? Подскажите, пожалуйста, кто знает, очень нужно! Заранее спасибо!
*Примечание: это - только фрагмент скрипта (оригинал занимает несколько страниц), поэтому данные действия я хочу выполнить для более компактного вида.