1

У меня есть ряд папок, которые получают файлы в формате .pdf с бумажных сканирований, сделанных сотрудниками копировальной машины. Одна папка на одно подразделение на сервере Windows 2000, поэтому:

Scan$  
    Unit 1\  
    Unit 2\  
    Unit 3\  

Я пытаюсь написать командный файл для создания папки с именем:

'Temp area - файлы будут удалены через 14 дней!'

и поместите его в каждую из корневых папок блока 1,2,3, чтобы напомнить персоналу, что не следует хранить данные там в течение длительного времени. После того, как я создал эту папку, мне нужно настроить права доступа NTFS, может быть, с помощью icacls , чтобы разрешить только администраторам домена доступ к созданной мной папке, чтобы сотрудники не могли ее удалить.

Я уже писал командные файлы для создания «домашних» папок, считывающих имена из .txt, например, for /f %%a in (users.txt) do ..icacls \\filer\Personal$\Home\%%a /grant:r "Company\Domain Admins:(OI)(CI)F"

Я борюсь с этим вопросом, любая помощь приветствуется :-)

1 ответ1

1

Вы должны быть в состоянии сделать это с помощью этого простого скрипта:

@ECHO off

SET _Path=\\unc\scan$
SET _FolderName=Temp area - files will be deleted after 14 days!

for /f "delims=" %%a in ('dir "%_Path%" /B /R /AD') DO (
    mkdir "%_Path%\%%a\%_FolderName%"
    icacls "%_Path%\%%a\%_FolderName%" <...>
)

Сломать

  • SET _Path=\\unc\scan$ устанавливает переменную, содержащую путь к папке, содержащей папки Unit 1 , Unit 2 , Unit 3 . Установка этого только в одном месте облегчает изменение в будущем
  • SET _FolderName=Temp area - files will be deleted after 14 days! устанавливает переменную, содержащую имя папки, которую вы хотите создать и заблокировать
  • dir "%_Path%" /B /AD перечисляет подкаталоги по указанному вами пути
  • for /f "delims=" %%a in ('dir "%_Path%" /B /R /AD') DO будет перебирать подкаталоги
  • mkdir "%_Path%\%%a\%_FolderName%" создает ваши новые подкаталоги, используя указанное имя папки
  • icacls "%_Path%\%%a\%_FolderName%" <...> запустит ваши icacls для установки разрешений. Вам придется заменить <...> на любые /grant или /deny вы хотите установить.

Рекомендации

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .