Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


2. удалить все остальные кроме файлов из списка.
Cписок и батник будут лежать в заглавном каталоге, выше которого "выходить" не нужно.
Сам батник и файл-список удалены не будут
Код: Выделить весь код
@Echo Off
Set "Exclude=NoDelete.txt"

If Not Exist "%Exclude%" Exit /B 2
>"~%Exclude%" (
	FOR /F "usebackq delims=" %%f IN ("%Exclude%") DO (Echo :%%f)
	(Echo :%Exclude%)
	(Echo :~%Exclude%)
	(Echo :%~nx0)
)

>nul 2>&1 (
	FOR /F "usebackq delims=" %%f IN (`XCOPY "*.*" "%Tmp%\" /L /S /H /EXCLUDE:~%Exclude%`) DO Del /A:R /A "%%~dpnxf"
	Del "~%Exclude%"

	rem Если надо убить пустые папки
	For /F "usebackq delims=" %%d In (`Dir /B /S /A:D 2^>nul^|Sort /R`) Do RD "%%d"
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 27-04-2018 в 02:08.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:02, 27-04-2018 | #16