如何使用Windows命令行授予用户对目录的权限(读、写、修改)?


当前回答

当我运行命令时:

icacls "c:/path/to/folderA/folderB" /grant:r Everyone:(OI)(CI)F /T

folderB中的文件都没有被处理,这是通过输出消息表示的:

Successfully processed 0 files; Failed processing 0 files

然而,一旦我将指定的路径更改为父目录(“c:/path/to/folderA”)并重新运行命令,folderB中的所有文件都被成功处理。

注意:如果您希望folderA中的任何其他文件/文件夹不被处理,请在运行上述命令之前尝试将所有这些文件/文件夹移动到不同的位置。

希望这对遇到同样问题的人有所帮助。

其他回答

我为此挣扎了一段时间,只有结合这个帖子中的答案对我有效(在Windows 10上): 1. 打开cmd或PowerShell,进入有文件的文件夹 2. takeown /R /F 3.icacls * /T /grant dan:F

好运!

为了防止其他人在这个页面上出错,如果你想在一个命令中将各种权限串在一起,我使用了这个:

icacls "c:\TestFolder" /grant:r Test_User:(OI)(CI)(RC,RD,RX)

请注意用于各种权限的csv字符串。

您也可以使用ICACLS。

赋予文件夹“Users”组“Full Control”权限。

>icacls "C:\MyFolder" /grant Users:F

为C:\MyFolder授予IIS用户修改权限(如果您需要,您的IIS具有将文件R/W到特定文件夹的能力):

>icacls "C:\MyFolder" /grant IIS_IUSRS:M

如果你做ICACLS /?您将能够看到所有可用的选项。

我尝试了下面的方法,对我来说很有效: 1. 打开用于cmd . exe 2. takeown /R /F *.* 3.icacls * /T /grant [username]:(D) 4. 德尔*。* / s / q

这样文件就可以成为我自己的访问权限,并分配给“删除”,然后我就可以删除文件和文件夹。

在Vista中,不支持使用cacls。以下是前几条帮助热线:

C:\>cacls
NOTE: Cacls is now deprecated, please use Icacls.

Displays or modifies access control lists (ACLs) of files

你应该使用icacls。这是你授予John对D:\test文件夹及其所有子文件夹的完全控制权的方式:

C:\>icacls "D:\test" /grant John:(OI)(CI)F /T

根据MS文档:

F =完全控制 CI =容器继承——该标志表示从属容器将继承此ACE。 OI = Object Inherit -该标志表示从属文件将继承ACE。 /T =递归应用到现有文件和子文件夹。(OI和CI只适用于新文件和子文件夹)。图片来源:@AlexSpence。

要获得完整的文档,您可以不带参数地运行“icacls”,或者在这里和这里查看Microsoft文档