这是在 Windows 环境中。我在 NAS 卷上遇到问题,管理员失去了对各种文件夹和文件的所有访问权限。我可以找到有问题的文件夹和文件,并且一直在使用批处理文件将所有权授予管理员帐户,然后授予访问权限,但嵌套文件夹存在问题。因此,如果我们有 -
“h:\folder1\folder2\folder3\folder4”,其中每个文件夹都不可访问或不属于管理员
我将文件夹列成一个 txt 文件,然后编辑并运行批处理文件中授予所有权的命令,因此 -
fileacl h:\folder1 /O 管理员:F
fileacl h:\folder1\folder2 /O 管理员:F
fileacl h:\folder1\folder2\folder3 /O 管理员:F
fileacl h:\folder1\folder2\folder3\folder4 /O 管理员:F
然后我编辑以创建以下内容以授予访问权限 -
fileacl h:\folder1 /G Administrator:F
fileacl h:\folder1\folder2 /G Administrator:F
fileacl h:\folder1\folder2\folder3 /G Administrator:F
fileacl h:\folder1\folder2\folder3\folder4 /G Administrator:F
问题是,只有文件夹 1 会被修复,因为在第二个命令完成触摸文件夹 2 之前,我无法访问它。3 和 4 也一样。
我的问题是 - 是否可以在创建的文本文件列表的每一行执行两个命令,以便它在转到文件夹 2 之前先执行文件夹 1 的两个命令,依此类推?手动复制并组织所有这些将花费很长时间,因为我有几千个嵌套文件夹。DOS/CMD 提示符中的 FOR 循环?
谢谢!
答案1
您的意思是使用运算符连接两个命令吗&&
?等式。fileacl h:\folder1 /O Administrator:F && fileacl h:\folder1 /G Administrator:F
答案2
尝试使用
icacls h:\ /grant 管理员:(CI)(OI)F
上述内容应授予管理员对 H:\ 下的每个文件和文件夹以及所有子目录的完全访问权限。并且它还将设置“对象继承”和“容器继承”,因此权限应遍历到其下的所有文件夹。
在执行此操作之前,请先运行它而不使用 /t(遍历所有子目录)并且可能只针对特定文件夹。
例如。
icacls h:\folder1 /grant Administrator:F
这应该只授予管理员对“folder1”的完全访问权限,但不允许其下的文件夹继承该权限。
希望这可以帮助