Имя пользователя:
Пароль:
 

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
	Set DelBox="Удали папку 1" "Удали папку 2" "Удали папку 3"
	Set ExcRoot="C:\Program Files" "C:\Users" "C:\Windows" 
	Set ExcDisk=""

rem	Set ExcDisk="C:" "D:" "Z:"

	FOR /F "usebackq delims= " %%i IN (`"wmic logicaldisk where "drivetype^='3'" get caption | findstr.exe /C:":""`) DO (
		Call :RdDisk "%%i"
	)
pause
Exit /B

:RdDisk
	For %%j In (%ExcDisk%) Do If /I %1==%%j Exit /B
	Pushd "%~1\" &&(
		For %%j In (%DelBox%) Do 2>nul Rd /S /Q %%j
		Popd
	)
	For /f "usebackq delims=" %%j In (`2^>nul Dir "%~1\" /B /A:D`) Do Call :RdSub "%~1\%%j"
Exit /B

:RdSub
	For %%s In (%ExcRoot%) Do If /I %%s==%1 Exit /B 0
	Pushd "%~1\" &&(
		For %%s In (%DelBox%) Do 2>nul Rd /S /Q %%s
		For /f "usebackq delims=" %%s In (`2^>nul Dir %DelBox% /B /S /A:D`) Do 2>nul Rd /S /Q "%%s"
		Popd
	)
Exit /B

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

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

Отправлено: 00:42, 20-03-2021 | #20