Eu escrevi o seguinte arquivo em lote que faz um ótimo trabalho vasculhando todas as pastas começando com o número 3 e aplicando permissões de pasta a qualquer subpasta de 2010. Exemplo dos arquivos em lote está abaixo:
para /D %%f in (D:\Data\3*) faça icacls "%%f\2010" /inheritance:r /grant:r "Administradores de domínio":(OI)(CI)F
Pergunta: Como posso melhorar este script para permitir que eu aplique as permissões a uma pasta específica abaixo de QUALQUER pasta dentro das pastas que começam com 3?
aqui está um exemplo da minha tentativa fracassada:
para /D %%f in (D:\Data\3*) faça icacls "%%f*\specificfolder" /inheritance:r /grant:r "Administradores de domínio":(OI)(CI)F
Responder1
Com a seguinte árvore de diretórios:
D
Dados
31245 Cliente
qualquer pasta
pasta específica
31246 Cliente
qualquer pasta
pasta específica
O código abaixo aplicará as permissões de segurança que você especificou a ambos os diretórios chamados "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
NOTA - Isso usa loops FOR aninhados que não são suportados pelo DOS (COMMAND.COM). Isso funcionará bem com um sistema NT (CMD.EXE).