|
|
本帖最后由 yangyf34 于 2020-4-24 17:11 编辑
同目录下有姓名.txt,内容为:
张三
李四
王五
现有个bat,用for取值出错:
- @echo off
- set pf=D:
- for /f "tokens=1 delims= " %%a in (姓名.txt) do (
- md %pf%\%%a
- echo y | icacls %pf%\%%a /inheritance:d /T
- echo y | icacls %pf%\%%a /remove:g users /T
- echo y | icacls %pf%\%%a /grant:r %%a:(OI)(CI)F /T
- )
- pause
- exit
复制代码 运行一闪就关闭,去掉这句就正常: echo y | icacls %pf%\%%a /grant:r %%a OI)(CI)F /T
cmd下单句运行却又正常:echo y | icacls D:\张三 /grant:r 张三:(OI)(CI)F /T
说明语法没问题,我估计是%%a:(OI)(CI)F的"%%a:"写法有误,但是不知道该怎么写,苦恼!!!
网上原bat代码,也不对:
- ::批量建立私人共享文件夹和设定本地权限(共享权限可以设everyone完全控制,靠本地权限来限制)
- @echo off
- set /p outputPath=请输入根目录:
- set /p importTxt=请导入用户列表(*.txt):
- for /f "tokens=1 delims= " %%j in ('more %importTxt%') do (
- mkdir %outputPath%\%%j
- echo Y
- (cacls % outputPath%\%%j /C /G %%j:F
- )
复制代码 |
|