나는 숫자 3으로 시작하는 모든 폴더를 샅샅이 뒤지고 2010년 하위 폴더에 폴더 권한을 적용하는 훌륭한 작업을 수행하는 다음 배치 파일을 작성했습니다. 배치 파일의 예는 다음과 같습니다.
for /D %%f in (D:\Data\3*) do icacls "%%f\2010" /inheritance:r /grant:r "Domain Admins":(OI)(CI)F
질문: 3으로 시작하는 폴더 내 모든 폴더 아래의 특정 폴더에 권한을 적용할 수 있도록 이 스크립트를 어떻게 개선할 수 있습니까?
다음은 실패한 시도의 예입니다.
for /D %%f in (D:\Data\3*) do icacls "%%f*\특이적folder" /inheritance:r /grant:r "Domain Admins":(OI)(CI)F
답변1
다음 디렉토리 트리를 사용합니다.
디
데이터
31245 클라이언트
어떤 폴더든
특정 폴더
31246 클라이언트
어떤 폴더든
특정 폴더
아래 코드는 "특정 폴더"라는 두 디렉터리 모두에 지정한 보안 권한을 적용합니다.
@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
참고 - 이는 DOS(COMMAND.COM)에서 지원하지 않는 중첩된 FOR 루프를 사용합니다. 이는 NT(CMD.EXE) 시스템에서 잘 작동합니다.