пакетный файл icacls несколько каталогов с подстановочными знаками нужна помощь

пакетный файл icacls несколько каталогов с подстановочными знаками нужна помощь

Я написал следующий пакетный файл, который отлично справляется со своей задачей, прочесывая все папки, начинающиеся с цифры 3, и применяя разрешения к любой подпапке 2010. Пример пакетных файлов приведен ниже:

для /D %%f в (D:\Data\3*) do icacls "%%f\2010" /inheritance:r /grant:r "Администраторы домена":(OI)(CI)F

Вопрос: Как улучшить этот скрипт, чтобы иметь возможность применять разрешения к определенной папке, находящейся ниже ЛЮБОЙ папки внутри папок, начинающихся с 3?

Вот пример моей неудачной попытки:

для /D %%f в (D:\Data\3*) do icacls "%%f*\specificfolder" /inheritance:r /grant:r "Администраторы домена":(OI)(CI)F

решение1

Со следующим деревом каталогов:

Д

Данные

31245 Клиент

любаяпапка

конкретнаяпапка

31246 Клиент

любаяпапка

конкретнаяпапка

Приведенный ниже код применит указанные вами разрешения безопасности к обоим каталогам с именем «specificfolder».

@echo off
for /D %%f in ("D:\Data\3*") do for /D %%d in ("%%f\*") do icacls "%%d\specificfolder" /inheritance:r /grant:r "Domain Admins":(OI)(CI)F

ПРИМЕЧАНИЕ. Здесь используются вложенные циклы FOR, которые не поддерживаются DOS (COMMAND.COM). Это будет работать нормально с системой NT (CMD.EXE).

Связанный контент