标题: [文本处理] [已解决]批处理for语句批量建立私人共享文件夹和设定本地权限,运行报错救急!!! [打印本页]
作者: yangyf34 时间: 2020-4-24 14:48 标题: [已解决]批处理for语句批量建立私人共享文件夹和设定本地权限,运行报错救急!!!
本帖最后由 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 %%aOI)(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
- )
复制代码
作者: Batcher 时间: 2020-4-24 16:48
回复 1# yangyf34
第7行改成这样试试:
echo y | icacls %pf%\%%a /grant:r %%a:^(OI^)^(CI^)F /T
作者: yangyf34 时间: 2020-4-24 17:09
回复 2# Batcher
可以了...学习到了,非常感谢!!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |