我试图创build一个文本文件的权限的主目录。 我只能得到batch file来运行第一行。 谁能告诉我为什么?
我以pipe理员身份运行go.bat来启动脚本。
GO.BAT
@echo for /f %%a in (users1.txt) do call test.bat %%a
test.bat的
@echo off m: cd \ mkdir %1 icacls %1 /grant %1:(OI)(CI)M cd %1 mkdir public icacls public /inheritance:d icacls public / All:(OI)(CI)(RD) icacls public /grant All:(OI)(CI)R mkdir private icacls private /inheritance:d icacls private /remove All cd \
users1.txt
user1 user2 user3
您可以将您熟悉的icacls命令与PowerShell循环一起用作PowerShell的“简介”。
像这样的东西应该这样做
Get-Content C:\users.txt | ForEach-Object { $User = $_ $WorkingPath = "M:\" + "$User" mkdir $WorkingPath icacls $WorkingPath /grant $User:(OI)(CI)M $Public = "$WorkingPath" + "public" mkdir $Public icacls $Public /inheritance:d icacls $Public / All:(OI)(CI)(RD) icacls $Public /grant All:(OI)(CI)R $Private = "$WorkingPath" + "private" mkdir $Private icacls $Private /inheritance:d icacls $Private /remove All }
Get-ACL和Set-ACL用于在PowerShell中处理权限,以及replacemkdir和类似的命令,但这样可以轻松使用它。