icacls批次檔多個目錄與通配符需要協助

icacls批次檔多個目錄與通配符需要協助

我編寫了以下批次文件,該文件可以很好地梳理以數字 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) 系統來說可以正常運作。

相關內容