Сведущая проблема есть папка "обмен" в сети на серваке в ней куча папок для каждого отдела, нужно каждую ночь чистить их, задача тривиальная
Цитата:
c:
cd c:\data
rmdir /s /q c:\data\ОТДЕЛ1
mkdir c:\data\ОТДЕЛ1
rmdir /s /q c:\data\ОТДЕЛ2
mkdir c:\data\ОТДЕЛ2
dir > list.txt
так я реализовал раньше, но надо чтоб на папку ОТДЕЛx применялись разрешения в АД, а при моем подходе при создание этой папки все разрешения затираются
пример разрешений для отдела1 (Админ-FC Отдел1-FC Отделы R) и так для для каждого отдела, я уже понял что мой подход не правильный, понял что нужно папки не пере создавать а просто их вычищать, помогите разобраться с проблемой.
CMD/BAT - [решено] удаление содержимого папок
-
Petya V4sechkin
Re: CMD/BAT - [решено] удаление содержимого папок
daswer, можно так:
Код:
2-й вариант: удалять все (как вы делаете), но после этого с помощью Cacls или
Код:
Код: Выделить всё
@Echo Off
SetLocal EnableExtensions
CD /D C:\data
If %ErrorLevel% Neq 0 GoTo :Eof
For /F "Delims=" %%I In ('Dir /AD /B') Do (
For /F "Delims=" %%J In ('Dir /AD /B "%%I"') Do RD /S /Q "%%I\%%J"
Del /F /Q "%%I\*"
Del /F /Q /AH "%%I\*"
Del /F /Q /AS "%%I\*"
)2-й вариант: удалять все (как вы делаете), но после этого с помощью Cacls или
SubInACL
выставить нужные разрешения.-
Iska
Re: CMD/BAT - [решено] удаление содержимого папок
daswer, можете попробовать на основе такого:
Код:
Что-то наподобие:
Код:
Будьте осторожны с UNC-путями.
Код:
Код: Выделить всё
@echo off
setlocal enableextensions enabledelayedexpansion
if exist "%~1" (
echo Clearing folders in [%~1].
pushd "%~1" && (rmdir /s /q "%~1" & popd) 2>nul
) else (
echo Not found [%~1]
)
endlocal
exit /b 0Что-то наподобие:
Код:
Код: Выделить всё
ClearFolder.cmd "c:\data\ОТДЕЛ1"
ClearFolder.cmd "c:\data\ОТДЕЛ2"Будьте осторожны с UNC-путями.
-
daswer
-
daswer
Re: CMD/BAT - [решено] удаление содержимого папок
почти такая же проблема, у меня есть 3 директории в каждой из которых примерно по сотне директорий и в каждой из них куча файлов, мне нужно очистить каждую директорию от файлов, не удаляя директории, попробовал сам - получается удалить вместе со вложенными директориями.
-
Павел_Князь@vk
Re: CMD/BAT - [решено] удаление содержимого папок
Павел_Князь@vk, вот так можно очистить от файлов 3 папки с подпапками:
Код:
Код:
Код: Выделить всё
del /f /s /q /a "papka1" "papka2" "papka3"-
Павел_Князь@vk
Re: CMD/BAT - [решено] удаление содержимого папок
Sphinx114, спасибо ! уже решил, немного по-другому, я сначала просто дико тормозил, давая винде "rm"
а она меня не понимала
а она меня не понимала