我編寫了以下批次文件,該文件可以很好地梳理以數字 3 開頭的所有資料夾,並將資料夾權限應用於任何 2010 子資料夾。批次檔的範例如下:
對於 (D:\Data\3*) 中的 /D %%f 執行 icacls "%%f\2010" /inheritance:r /grant:r "Domain Admins":(OI)(CI)F
問題:如何改進此腳本,以允許我將權限應用於以 3 開頭的資料夾中的任何資料夾下的特定資料夾?
這是我失敗的嘗試的一個例子:
對於 (D:\Data\3*) 中的 /D %%f 執行 icacls "%%f*\specificfolder" /inheritance:r /grant:r "Domain Admins":(OI)(CI)F
答案1
具有以下目錄樹:
D
數據
31245 客戶
任意資料夾
特定資料夾
31246 客戶
任意資料夾
特定資料夾
下面的程式碼將您指定的安全權限套用至兩個名為「specifiedfolder」的目錄
@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) 系統來說可以正常運作。