批处理脚本从名称列表创build家庭主目录

我试图创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-ACLSet-ACL用于在PowerShell中处理权限,以及replacemkdir和类似的命令,但这样可以轻松使用它。