web-dev-qa-db-ja.com

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

私は次のバッチファイルを作成しました。これは、番号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 *\Specificfolder"/inheritance:r/grant:r "Domain Admins" :( OI)(CI)F

2
user153521

次のディレクトリツリーを使用します。

D

データ

31245クライアント

anyfolder

特定のフォルダ

31246クライアント

anyfolder

特定のフォルダ

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

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

1
TehTechGuy