Удаление указанных файлов в заданной папке
Пытаюсь написать командный файл для уничтожения набора файлов в заданной папке. Смотря примеры, получилось что-то такое. Помогите исправить и покажите, как должно быть правильно, пожалуйста
@echo off setlocal enabledelayedexpansion set /p "question=Vvedit imena failov, rosdelayja ich probelamy: " set /p "question2=Vvedit razpolozchenyye failov:" for /F "tokens=* delims= " %%h in ("%question%") do for /D %%d in ("\\%%h\%question2%") del "%%d" /s /q pause exit |
А зачем вводить имена вручную? Чем обусловлена такая необходимость?
|
Цитата:
|
DJ Mogarych, alpap, судя по формулировке и тексту в коде — лабораторка.
|
Есть условие, что названия файлов и их размещения задавать через командную строку.
|
|
Devddd, для вашего задания, собственно, кроме этого условия и команд-то никаких практически не нужно:
Код:
@echo off |
Спасибо большое
|
Всем привет! Чтобы не создавать новую тему спрошу в этой.
Есть такая структура каталогов: D:\IS\users\ D:\IS\users\Config\ D:\IS\users\Config\TEST D:\IS\users\Home\ D:\IS\users\Home\TEST D:\IS\users\Temp\ D:\IS\users\Temp\TEST Как удалить из каталогов Config, Home, Temp другие подкаталоги, оставив подкаталог TEST? Нашел два варианта, но не получилось их модифицировать, а в текущем виде они удаляют все каталоги из D:\IS\users\ Код:
for /d %%i in (D:\IS\users\*) do ( Код:
Set Target=D:\IS\users\ |
Код:
@Echo Off |
megaloman, спасибо! а возможно ли более универсальное решение? Например не указывать каталоги:
D:\IS\users\Config\ D:\IS\users\Home\ D:\IS\users\Temp\ а сказать скрипту пройтись по подкаталогам каталога D:\IS\users\ и удалить в этих подкаталогах все папки, отличные от TEST? В принципе, если так будет легче составить логику, можно удалить и сами каталоги Config, Home, Temp, если в них не будет найден подкаталог TEST. |
pedrosoft, Я правильно понимаю, в D:\IS\users\ есть много папок. В этих папках надо убить все подпапки, корме TEST?
Код:
@Echo Off |
megaloman, папок всего 3, просто не хотелось привязываться к их именам. Спасибо, работает!
А чтобы после вашего кода выполнить другой достаточно удалить последнюю команду Exit /B или удалять её в обоих местах? |
Цитата:
Структура кода, как и в нормальном языке программирования (с некоторой долей условности): До первого exit идёт так называемая главная часть программы. Там могут вызываться процедуры, которые определяются ниже. Если что-то дописывать, то там. После первого exit идёт первая процедура, которая завершается своим exit. Если Вы нарисуете свои процедуры, будьте добры располагать их после любого exit в моём коде. Конкретно, в главной части оего кода в цикле for вызываем (call) процедуру DelDir. |
Цитата:
|
Время: 16:46. |
Время: 16:46.
© OSzone.net 2001-