Board logo

标题: [文本处理] 批处理如何根据txt文本列出的用户名批量建立文件夹并设定该用户NTFS读写权限? [打印本页]

作者: shugeer    时间: 2016-6-30 13:15     标题: 批处理如何根据txt文本列出的用户名批量建立文件夹并设定该用户NTFS读写权限?

本帖最后由 pcl_test 于 2016-7-2 14:36 编辑

有一批域用户的txt列表,在共享目录下如何根据用户名批量建立以“用户名”命名的文件夹,并指定该用户拥有读写权限?非常紧急,谢谢!
度娘上找了个代码好像不行看如下:
  1. @echo off
  2. set /p outputPath=请输入根目录:
  3. set /p importTxt=请导入用户列表(*.txt):
  4. for /f "tokens=1 delims= " %%j in ('more %importTxt%') do (
  5. mkdir %outputPath%\%%j
  6. echo Y
  7. (cacls % outputPath%\%%j /C /G %%j:F)
复制代码

作者: GNU    时间: 2016-6-30 13:53

请介绍一下代码执行结果和你的实际需求有哪些差距
作者: shugeer    时间: 2016-6-30 14:44

回复 2# GNU


    代码无法正常执行,请看如下图1和图2 ,图1是批处理代码和用户名列表,图2是运行结果
作者: gawk    时间: 2016-7-2 19:53

回复 3# shugeer


    代码里面有4个左括号,3个右括号。你检查一下是不是抄错了。
作者: shugeer    时间: 2016-7-5 13:04

回复 4# gawk
这段代码也是我复制地来的,对批处理命令也不是很熟悉,大神帮我测试一下咯,我现在改为如下也不行
  1. @echo off
  2. set /p outputPath=e:\test2:
  3. set /p importTxt=(e:\test2\user.txt):
  4. for /f "tokens=1 delims= " %%j in ('more %importTxt%') do (
  5. mkdir %outputPath%\%%j )
  6. echo Y
  7. (cacls % outputPath%\%%j /C /G %%j:F)
复制代码

作者: shugeer    时间: 2016-7-5 15:18

顶起来!!!顶起来!!!顶起来!!!
作者: gawk    时间: 2016-7-5 19:14

回复 5# shugeer


修改了几处语法错误,你试试看吧:
  1. @echo off
  2. set /p outputPath=请输入根目录:
  3. set /p importTxt=请导入用户列表(*.txt):
  4. for /f %%j in ('type %importTxt%') do (
  5.     mkdir %outputPath%\%%j
  6.     echo Y|cacls %outputPath%\%%j /C /G %%j:F
  7. )
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2