Board logo

标题: [文本处理] 求一个批处理批量赋予基于用户名的文件夹并赋予用户权限 [打印本页]

作者: yy521b    时间: 2015-11-24 10:47     标题: 求一个批处理批量赋予基于用户名的文件夹并赋予用户权限

公司有两百个用户账户,在 共享 中 有两百个以用户名命名的文件夹 ,用户账号和文件夹已经建好,如何批量给每一个文件夹对应用户的编辑权限?

如 我有 分别以 1 2 3 4 5 6 7 8 9 0 命名的10个文件夹,系统中也有 1 2 3 4 5 6 7 8 9 0 命名的10个账户,如何让1用户对1文件夹有编辑权限,2用户对2文件夹有编辑权限,以此类推!!当然用户名字都不是有序的 !

请帮忙给一段批处理! 谢谢!
作者: 依山居    时间: 2015-11-24 11:17

搜索都不舍得搜索,还干个毛IT。
作者: yy521b    时间: 2015-11-24 13:22

搜索都不舍得搜索,还干个毛IT。
依山居 发表于 2015-11-24 11:17



     刚刚接触批处理,我就是搜索不到才上来问问, 谁生下来就会做IT,不都是一步一步学过来的!有必要这么说人吗!
作者: 依山居    时间: 2015-11-24 13:44

回复 3# yy521b


    哈哈,11年的帐号。4年了,亲。
作者: DAIC    时间: 2015-11-24 14:45

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad') do (
  3.     net share "%%i"="%~fi"
  4.     subinacl /share "%%i" /grant="%%i" /revoke=Everyone
  5. )
复制代码

作者: rdctgvf    时间: 2015-11-25 11:38

本帖最后由 rdctgvf 于 2015-11-25 11:56 编辑

代码在WIN7测试完成,
1,请把脚本放在的需要操作的文件夹内执行
2,请确保用户帐号确实存在以及用户名和文件夹的名称一一对应
3,如果替换的文件夹数量很多导致输出无法完整浏览查找失败的记录,请自行修改代码
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ("%cd%") do set FolderName=%%i
  3. echo;&echo 正在修改...
  4. echo;
  5. for /f "delims=" %%a in ('dir /b /a:d') do (
  6.     set "UserDirName=%%a"
  7.     echo y|Cacls %FolderName%\!UserDirName! /T /G system:F administrators:F !UserDirName!:F 1>nul 2>nul
  8.     if !ERRORLEVEL! EQU 0 (echo 对象名称: %FolderName%\!UserDirName! 权限修改成功) else (echo 对象名称: %FolderName%\!UserDirName! 权限修改失败)
  9. )
  10. echo;&echo;
  11. echo  --- 权限替换完成 ---
  12. pause>nul
复制代码

作者: DAIC    时间: 2015-11-25 13:38

回复 6# rdctgvf


    按照我的理解,楼主希望设置的是共享权限而不是安全权限。
作者: rdctgvf    时间: 2015-11-25 14:49

回复 7# DAIC


    这个不冲突啊,这个就是共享的访问权限啊!都是统一的




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