所以基本上我们有一个大型共享驱动器,其中包含许多顶级文件夹,每个文件夹包含许多子文件夹和文件。
E:\Share\%Username%
E:\Share\%Username%\Folder1
E:\Share\%Username%\Folder2
E:\Share\%Username%\Folder2\Folder3
在这些文件夹中的每一个都是文件 - 现在基本上随着时间的推移,权限已经变得混乱,而我想要做的事情基本上是取得顶层所有内容的所有权:
E:\Share\%username%\
但也要设置它,以便该文件夹中的任何内容都将从其父文件夹继承权限,所以在:
E:\Share\%Username%\[Whatever is at this level and below] (whether files or folders)
继承自:
E:\Share\%username%\
这可以通过批处理脚本进行吗?
答案 0 :(得分:5)
以递归方式获取文件夹E:\ Share \%Username%\及其所有内容的所有权:
takeown /f "E:\Share\%Username%\" /r
答案 1 :(得分:3)
这里没有理由重新发明轮子,你可以在cmd提示符中使用Windows 7中的icacls,或者从PS中使用icacls,它是一个单行程序,可以获得所有权并具有递归内置功能。
你真正要做的是: 取得所有权(大部分时间可选) 设置继承 递归申请。
http://ss64.com/nt/icacls.html
如果您使用的是XP / 2003,则可以使用xcacls。