icacls バッチファイル ワイルドカードを使用した複数のディレクトリのヘルプが必要

icacls バッチファイル ワイルドカードを使用した複数のディレクトリのヘルプが必要

私は、3 で始まるすべてのフォルダーを調べ、2010 サブフォルダーにフォルダー権限を適用する優れたバッチ ファイルを作成しました。バッチ ファイルの例を以下に示します。

/D %%f in (D:\Data\3*) に対して icacls "%%f\2010" /inheritance:r /grant:r "Domain Admins":(OI)(CI)F を実行します

質問: このスクリプトを改善して、3 で始まるフォルダー内の任意のフォルダーの下の特定のフォルダーにアクセス許可を適用できるようにするにはどうすればよいでしょうか?

以下は私の失敗した試みの例です:

/D %%f in (D:\Data\3*) の場合、 icacls "%%f*\specificfolder" /inheritance:r /grant:r "Domain Admins":(OI)(CI)F を実行します。

答え1

次のディレクトリ ツリーの場合:

データ

31245 クライアント

任意のフォルダ

特定のフォルダ

31246 クライアント

任意のフォルダ

特定のフォルダ

以下のコードは、指定したセキュリティ権限を「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

注意 - これはネストされた FOR ループを使用しますが、これは DOS (COMMAND.COM) ではサポートされていません。これは NT (CMD.EXE) システムでは正常に動作します。

関連情報