mazila-iia
17-07-2017, 17:03
Добрый день.
Есть задача по очистке определенных папок в директории. Помимо всего прочего некоторые папки трогать нельзя. Чувствую, что копать надо в сторону vbs, но, к сожалению, в нем не силен. Есть скрипт, оставленный прошлым админом, который удаляет все папки из директории, кроме тех, которые находятся в исключении
setlocal enableextensions enabledelayedexpansion
rem Укажите местонахождение директории для очистки
set sTargetFolder=C:\1
rem Поддиректория (или файл), которая НЕ должна удаляться
set sExcludeFilesOrFolders="5"
for /f "tokens=*" %%i in ('dir "%sTargetFolder%" /b /a:-d') do (
set /a bDelete = 1
for %%j in (%sExcludeFilesOrFolders%) do (
if /i "%%i" equ "%%~j" set /a bDelete = 0
)
if !bDelete! equ 1 del /f /q "%sTargetFolder%\%%i"
)
for /f "tokens=*" %%i in ('dir "%sTargetFolder%" /b /a:d') do (
set /a bDelete = 1
for %%j in (%sExcludeFilesOrFolders%) do (
if /i "%%i" equ "%%~j" set /a bDelete = 0
)
if !bDelete! equ 1 rd /s /q "%sTargetFolder%\%%i"
)
endlocal
exit /b 0
В директории "C:\1", допустим, находятся папки 2,3,4,5,6. Скрипт выше удаляет все, кроме папки 5. А мне необходимо, чтобы он именно очищал содержимое папок, которые не включены в исключения
Заранее благодарю
Есть задача по очистке определенных папок в директории. Помимо всего прочего некоторые папки трогать нельзя. Чувствую, что копать надо в сторону vbs, но, к сожалению, в нем не силен. Есть скрипт, оставленный прошлым админом, который удаляет все папки из директории, кроме тех, которые находятся в исключении
setlocal enableextensions enabledelayedexpansion
rem Укажите местонахождение директории для очистки
set sTargetFolder=C:\1
rem Поддиректория (или файл), которая НЕ должна удаляться
set sExcludeFilesOrFolders="5"
for /f "tokens=*" %%i in ('dir "%sTargetFolder%" /b /a:-d') do (
set /a bDelete = 1
for %%j in (%sExcludeFilesOrFolders%) do (
if /i "%%i" equ "%%~j" set /a bDelete = 0
)
if !bDelete! equ 1 del /f /q "%sTargetFolder%\%%i"
)
for /f "tokens=*" %%i in ('dir "%sTargetFolder%" /b /a:d') do (
set /a bDelete = 1
for %%j in (%sExcludeFilesOrFolders%) do (
if /i "%%i" equ "%%~j" set /a bDelete = 0
)
if !bDelete! equ 1 rd /s /q "%sTargetFolder%\%%i"
)
endlocal
exit /b 0
В директории "C:\1", допустим, находятся папки 2,3,4,5,6. Скрипт выше удаляет все, кроме папки 5. А мне необходимо, чтобы он именно очищал содержимое папок, которые не включены в исключения
Заранее благодарю