|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление указанных файлов в заданной папке |
|
CMD/BAT - [решено] Удаление указанных файлов в заданной папке
|
Новый участник Сообщения: 5 |
Профиль | Отправить PM | Цитировать Пытаюсь написать командный файл для уничтожения набора файлов в заданной папке. Смотря примеры, получилось что-то такое. Помогите исправить и покажите, как должно быть правильно, пожалуйста
@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 |
|
Отправлено: 14:59, 28-03-2020 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать megaloman, спасибо! а возможно ли более универсальное решение? Например не указывать каталоги:
D:\IS\users\Config\ D:\IS\users\Home\ D:\IS\users\Temp\ а сказать скрипту пройтись по подкаталогам каталога D:\IS\users\ и удалить в этих подкаталогах все папки, отличные от TEST? В принципе, если так будет легче составить логику, можно удалить и сами каталоги Config, Home, Temp, если в них не будет найден подкаталог TEST. |
Отправлено: 11:19, 07-04-2020 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать pedrosoft, Я правильно понимаю, в D:\IS\users\ есть много папок. В этих папках надо убить все подпапки, корме TEST?
@Echo Off Set "BoxIn=D:\IS\users" Set "Exclude=Test" FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /A:D "%BoxIn%"`) DO ( Call :DelDir "%BoxIn%\%%~f" "%Exclude%" ) Exit /B :DelDir If Not Exist "%~1" (Echo !!! %1 not found &Exit /B 1) FOR /F "usebackq delims=" %%d IN (`2^>nul Dir /B /A:D "%~1\"`) DO ( If /I Not "%%~d"=="%~2" Rd /S /Q "%~1\%%~d" ) Exit /B |
------- Отправлено: 14:53, 07-04-2020 | #12 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать megaloman, папок всего 3, просто не хотелось привязываться к их именам. Спасибо, работает!
А чтобы после вашего кода выполнить другой достаточно удалить последнюю команду Exit /B или удалять её в обоих местах? |
Отправлено: 19:37, 07-04-2020 | #13 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Цитата pedrosoft:
Структура кода, как и в нормальном языке программирования (с некоторой долей условности): До первого exit идёт так называемая главная часть программы. Там могут вызываться процедуры, которые определяются ниже. Если что-то дописывать, то там. После первого exit идёт первая процедура, которая завершается своим exit. Если Вы нарисуете свои процедуры, будьте добры располагать их после любого exit в моём коде. Конкретно, в главной части оего кода в цикле for вызываем (call) процедуру DelDir. |
|
------- Последний раз редактировалось megaloman, 07-04-2020 в 19:55. Отправлено: 19:48, 07-04-2020 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата pedrosoft:
|
|
Отправлено: 22:08, 08-04-2020 | #15 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Удаление символов в конце имени файлов в папке | Viktor99 | Скриптовые языки администрирования Windows | 9 | 02-06-2019 23:27 | |
CMD/BAT - Удаление файлов старше N дней в подпаках, кроме файлов в самой папке | Negtm | Скриптовые языки администрирования Windows | 4 | 03-02-2017 15:30 | |
CMD/BAT - [решено] Удаление всех файлов кроме указанных, с содержанием указанных букв в названии | mrG0bliN | Скриптовые языки администрирования Windows | 11 | 15-04-2016 14:07 | |
VBS/WSH/JS - VBS удаление файлов, по маске и папок из указанных расположений. | Karotin | Скриптовые языки администрирования Windows | 0 | 24-11-2015 15:05 | |
CMD/BAT - [решено] Удаление файлов и папок кроме указанных. | mrG0bliN | Скриптовые языки администрирования Windows | 20 | 07-11-2015 03:59 |
|