Задать вопрос
@maxe-101

Как создать Bat-ик который удалял бы папки с несколькими исключениями?

Здравствуйте, возникла проблема с созданием скрипта, который должен рекурсивно удалять папки по пути C:\Users\Desktop\Bat\Test, при этом не должен трогать 3 папки и 2 файла. Не могу сделать исключение для более 1 папки.
Помогите пожалуйста и если есть возможность опишите что обозначают действия. Уже целый день вожусь с этим :(
Вот то что смог написать
@echo off
setlocal enableextensions enabledelayedexpansion

:: Дирректория
set Folder=C:\Users\vasma\Desktop\Bat\Test

:: Поддиректория (или файл), которая НЕ должна удаляться
set NotDeleted="conf" "log" "dumps"

for /f "tokens=*" %%i in ('dir "%Folder%" /b /a:d') do (
	set /a bDelete = 1

	for %%j in (%NotDeleted%) do (
		if /i "%%i" equ "%%~j" set /a bDelete = 0
	)
if !bDelete! equ 1 rd /s /q "%Folder%\%%i"
)

endlocal
exit /b 0
  • Вопрос задан
  • 302 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@maxe-101 Автор вопроса
Скрипт рабочий, удаляет папки и их содержимое, кроме указанный но не удаляет автоматически файлы лежащие в корневой папке!
Моя проблема была в неправильном написании своих папок в скрипте.
Ответ написан
moropsk
@moropsk
А если на Powershell (использую сам)
https://gallery.technet.microsoft.com/Delete-files...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы