icacls arquivo em lote vários diretórios com caracteres curinga ajudam

2

Escrevi o seguinte arquivo em lote que faz um ótimo trabalho vasculhando todas as pastas que começam com o número 3 e aplicando permissões de pasta a qualquer subpasta 2010. Exemplo dos arquivos em lote está abaixo:

para / D %% f em (D: \ Data \ 3 *) do icacls "%% f \ 2010" / herança: r / concessão: r "Admins. do 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 falhada:

para / D %% f em (D: \ Data \ 3 *) do icacls "%% f * \ specificfolder" / herança: r / concessão: r "Admins. do Domínio" :( OI) (CI) F

    
por user153521 21.08.2012 / 02:37

1 resposta

1

Com a seguinte árvore de diretórios:

D

Data

31245 Client

anyfolder

specificfolder

        
      
             

31246 Cliente

             

anyfolder

specificfolder

        
      
    
  

O código abaixo aplicará as permissões de segurança que você especificou para os dois diretórios chamados "specificfolder"

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

NOTA - Isto usa loops FOR aninhados que não são suportados pelo DOS (COMMAND.COM). Isso funcionará bem com um sistema NT (CMD.EXE).

    
por 21.08.2012 / 04:41