Показать полную графическую версию : удаление подкаталогов и файлов
Здравствуйте! допустим есть каталог "folder", в нем есть n-ное количество файлов и каталогов. нужно удалить ВСЕ файлы и каталоги в "folder" за исключением заданных в скрипте: например нужно оставить 1.txt, 2.doc, 3.ini. И есть ли возможность не удалять допустим еще 1 папку "NewFolder", которая находится так же внутри "folder".
megaloman
11-09-2012, 21:45
@Echo off
rem каталог "folder",
rem нужно удалить ВСЕ файлы и каталоги в "folder"
rem за исключением заданных 1.txt, 2.doc, 3.ini.
rem не удалять папку "NewFolder", которая в "folder".
Set Exc=%~n0.exclude
Echo \1.txt >%Exc%
Echo \2.doc >>%Exc%
Echo \3.ini >>%Exc%
Set Folder=D:\Delete\Folder
Set NoFolDel=D:\Delete\Folder\NewFolder
FOR /F "usebackq delims=" %%f IN (`Xcopy /L /S /EXCLUDE:%Exc% "%Folder%\*.*" %Tmp%`) DO Del "%%f" 2>nul
Cd /D "%NoFolDel%"
FOR /F "tokens=*" %%f IN ('Dir "%Folder%\*.*" /B /S /A:D 2^>nul^|Sort /R') DO Rd "%%f" 2>nul
Если батник будет внутри Folder пропишите его в неудаляемых. Пути и имена файлов напИшите реальные, проследите, чтобы в строках с именами и путями отсутствовали пробелы справа - иначе путь будет кривой. Если в именах-путях будут русские буквы- батник должен быть написан в 866 (Дос) кодировке.
Спасибо El Sanchez, использовал его решение. (http://forum.oszone.net/thread-241251.html)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.