用于更改 Windows 中同名子文件夹权限的脚本或实用程序
Posted
技术标签:
【中文标题】用于更改 Windows 中同名子文件夹权限的脚本或实用程序【英文标题】:Script or utility to change permissions on sub folder of the same name in Windows 【发布时间】:2012-11-23 04:12:19 【问题描述】:我有一个名为 Projects 的父文件夹,在该文件夹下我有 400 多个具有单独文件夹名称的文件夹(例如 Project1、Project2 等)。在每个项目文件夹下都有一个名为 Management 的标准文件夹,它应该具有受限访问权限,但它们没有。我想在所有项目中更改此管理子文件夹的权限(相同的权限)。如果有人对如何执行此操作有任何想法,将不胜感激,谢谢。
斯科特。
【问题讨论】:
【参考方案1】:这是一个简单的 Java 应用程序,可以满足您的要求。如果我误解了任何内容,您可能可以修复它,但我假设您的主要任务是弄清楚如何仅修改特定文件的权限。
我的解决方案是遍历当前目录的 fplders(即包含所有项目文件的目录),然后遍历每个项目文件夹以找到每个管理文件夹。然后,我使用icacls command 删除特定用户的权限。
public static void main(String[] args)
File file = new File("directory path");
Runtime runtime = Runtime.getRuntime();
for(File pfolder : file.listFiles()) // Loop through project folders
if(pfolder.isDirectory())
for(File mfolder : file.listFiles()) // Find management folder
if(mfolder.getName().equals("Management"))
try
runtime.exec("icacls "+mfolder.getAbsolutePath()+" /deny USERNAME");
catch (IOException ex)
ex.printStackTrace();
请务必修改初始目录值(使其成为绝对路径)和您要删除的权限的用户名。希望这会有所帮助!
【讨论】:
感谢 H31IX,我该如何运行这个 java 应用程序?我通常使用 vb 脚本的批处理文件,因此不确定如何运行您在此处发布的内容。此外,我想将此“管理文件夹”的权限更改为其他内容,而不仅仅是删除那里的内容,因此更改为域。仅限 local\management 和 domain.local\admins。不用急于回答,因为我相信您有更好的时间来处理,这当然值得赞赏。 很遗憾,我不能说我是拥有 Windows 权限的专家;我自己是一个linux人。我提供了源代码作为对解决方案的简单解释,但如果你确实需要它处于编译状态,我可以这样做,我只需要知道要执行的命令。 再次感谢,但我想我在这里想不通,我希望有一个脚本或批处理文件,我以前从未使用过 java oricacls,所以我只是在浪费你的时间问你在每一步都要做些什么。感谢您的及时回复和努力。以上是关于用于更改 Windows 中同名子文件夹权限的脚本或实用程序的主要内容,如果未能解决你的问题,请参考以下文章