首页 > 解决方案 > Windows - 如何使用命令删除每个用户对特定目录的写入权限

问题描述

每个星期,我都要从 SVN 备份所有项目文件并放入我的系统并删除每个人的写权限。这样它就不会在本地系统中被意外更改。下次,我必须删除这些文件并从 SVN 制作一个新的副本。我正在尝试自动化这个。我为此写了一个bat文件。代码如下

    ::@echo off
    set folder="d:/delete_It"
    set user[0]="username@My_Company_WebSite.com"
    set user[1]="BLRTESLTP-username\Administrators"
    set user[2]="Everyone"
    set user[3]="domain\user"
    set user[4]="everyone"
    set user[5]="Authenticated Users"
    set user[6]="NT AUTHORITY\Authenticated Users":
    set user[7]="My_Company_Network\username"
    set user[8]="BUILTIN\Administrators"
    set user[9]="NT AUTHORITY\Authenticated Users"
    set user[9]="BUILTIN\Users"
    
    icacls %folder% /T /grant %user[2]%:(OI)F
    icacls %folder% /T /grant %user[2]%:(OI)W
    
    cd /d %folder%
    rm -r -f /Q *.*
    del *.* /F /Q
    
    set svn="svn_Address"
    svn checkout %svn%  %folder%
    icacls %folder% /T /deny %user[2]%:(OI)(CI)W

现在的问题是,即使我只删除了写入权限,我也无法打开文件夹“d:\delete_It”。它表明我没有打开文件夹的权限。截图如下。

在此处输入图像描述

我以管理员权限打开了命令提示符,然后运行了脚本。但效果是一样的。有人能说什么是错的吗?以及如何实现这一目标?

注意:我使用的是“Windows 10 Pro”64 位操作系统

标签: windowsbatch-filecommand-linefile-permissions

解决方案


推荐阅读