Fresh96
25-03-2014, 12:29
Здравствуйте.
В папке Folder1 находятся подпапки с различными именами (в них тоже могут быть подпапки). Нужно удалить все папки с определенными именами. Список имен должен быть в текстовом файле.
Есть похожий код, но он отрабатывает только четко заданное имя папки. Помогите исправить код.
@echo off
setlocal
rem rdir=название_удаляемых_каталогов
set rdir=Архив
rem Раскоментировать чтоб задавать имя удаляемого каталога в строке параметров:
rem set rdir=%1
set fpath=%~dps0
call :func %fpath:~0,-1%
goto end
:func
for /f "delims=" %%i in ('dir %1 /a:d /b') do IF /I %%i==%rdir% ( rmdir /s /q %1\%%i && echo deleted %1\%%i ) ELSE ( call :func %1\%%i )
exit /b
:end
Заранее благодарю.
В папке Folder1 находятся подпапки с различными именами (в них тоже могут быть подпапки). Нужно удалить все папки с определенными именами. Список имен должен быть в текстовом файле.
Есть похожий код, но он отрабатывает только четко заданное имя папки. Помогите исправить код.
@echo off
setlocal
rem rdir=название_удаляемых_каталогов
set rdir=Архив
rem Раскоментировать чтоб задавать имя удаляемого каталога в строке параметров:
rem set rdir=%1
set fpath=%~dps0
call :func %fpath:~0,-1%
goto end
:func
for /f "delims=" %%i in ('dir %1 /a:d /b') do IF /I %%i==%rdir% ( rmdir /s /q %1\%%i && echo deleted %1\%%i ) ELSE ( call :func %1\%%i )
exit /b
:end
Заранее благодарю.