我编写了以下批处理文件,它可以很好地梳理以数字 3 开头的所有文件夹并将文件夹权限应用于任何 2010 子文件夹。批处理文件的示例如下:
对于 (D:\Data\3*) 中的 /D %%f,执行 icacls "%%f\2010" /inheritance:r /grant:r "域管理员":(OI)(CI)F
问题:我如何改进此脚本以允许我将权限应用于以 3 开头的文件夹中的任意文件夹下的指定文件夹?
下面是我的失败尝试的一个例子:
对于 (D:\Data\3*) 中的 /D %%f,执行 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
注意 - 这使用了 DOS (COMMAND.COM) 不支持的嵌套 FOR 循环。这在 NT (CMD.EXE) 系统上可以正常工作。