Board logo

标题: [文件操作] 批处理怎样设置文件夹权限? [打印本页]

作者: hijackle    时间: 2011-1-5 02:56     标题: 批处理怎样设置文件夹权限?

如何用批处理对文件夹权限实现像下图这样的细致属性,
setacl貌似能实现,但是对于系统原来的就有固定的继承权限不知道为什么去不掉,达人解惑一下,谢谢
作者: hijackle    时间: 2011-1-6 01:15

这个问题没人知道吗?
作者: temp    时间: 2011-1-6 02:13

原帖由 hijackle 于 2011-1-6 01:15 发表
这个问题没人知道吗?

我知道,但没法告诉你,建议找帮助文件,用一个没用的空文件夹不停的换参数测试,你就知道哪个参数能去掉继承了
作者: hijackle    时间: 2011-1-6 04:47

为什么没有办法告诉我呢?
哭。。。。。。。
作者: wangqi0077    时间: 2011-1-6 10:54

cacls /?  可以看帮助。
作者: yhcbird    时间: 2011-1-6 12:36

这样行吗?
  1. @echo off
  2. cls
  3. set /p wenjian=请输入你要文件夹或文件的目录 :
  4. set /p yonghu=请输入要设定的用户名如everyone:
  5. echo n=无 r=读取 w=写入 c=更改 f=完全控制
  6. set /p quanxian=请输入权限如r:
  7. cacls.exe %wenjian% /p %yonghu%:%quanxian%   
  8. cls
  9. pause
复制代码


禁止以下用户访问
  1. cls
  2. set /p wenjian= 请输入文件夹或文件的目录 :
  3. cacls.exe %wenjian% /e /t /r everyone >nul
  4. cacls.exe %wenjian% /e /t /r administrators >nul
  5. cacls.exe %wenjian% /e /t /r users >nul
  6. cacls.exe %wenjian% /e /t /r guests >nul
  7. cacls.exe %wenjian% /e /t /r admin >nul
  8. cacls.exe %wenjian% /e /t /r Guest >nul
  9. cls
复制代码

[ 本帖最后由 yhcbird 于 2011-1-6 12:40 编辑 ]
作者: temp    时间: 2011-1-6 12:41

原帖由 yhcbird 于 2011-1-6 12:36 发表

@echo off
cls
set /p wenjian=请输入你要文件夹或文件的目录 :
set /p yonghu=请输入要设定的用户名如everyone:
echo n=无 r=读取 w=写入 c=更改 f=完全控制
set /p quanxian=请输入权限如r:
cacls.exe  ...

人家楼主是问用SETACL,不是cacls,也不是xcacls
作者: yhcbird    时间: 2011-1-6 12:46     标题: 回复楼上的

楼主说:如何用批处理对文件夹权限实现像下图这样的细致属性,
setacl貌似能实现,
他说貌似:那么cacls就可以实现了呀
作者: hijackle    时间: 2011-1-7 00:14

回楼上的,你确定你仔细看了我给你的图了吗?
cacls能实现我所说的那种权限的设置吗?昏迷?如果能的话就不会纠结了

[ 本帖最后由 hijackle 于 2011-1-7 03:18 编辑 ]
作者: temp    时间: 2011-1-7 16:38

原帖由 yhcbird 于 2011-1-6 12:46 发表
楼主说:如何用批处理对文件夹权限实现像下图这样的细致属性,
setacl貌似能实现,
他说貌似:那么cacls就可以实现了呀


对cacls的参数不是很了解,对xcacls的参数曾测试过,可以实现楼主的要求,更详细的用数字,具体的忘记了

原帖由 yhcbird 于 2011-1-6 12:36 发表
echo n=无 r=读取 w=写入 c=更改 f=完全控制
set /p quanxian=请输入权限如r:
...

作者: temp    时间: 2011-1-7 16:45

获取xcacls.exe后得到xcacls.vbs,把xcacls.vbs和下列代码的批放在同一个文件夹中执行(cscript xcacls的用法于2007年写在电脑爱好者论坛日志中,估计是俺最先想到的,后来被别人借鉴)

  1. @echo off
  2. title=
  3. cscript xcacls "%userprofile%\Favorites" /g "Everyone:2345789ab"
  4. cscript xcacls "%userprofile%\Favorites" /d "Everyone:16" /e
  5. pause>nul
复制代码

[ 本帖最后由 temp 于 2011-1-8 00:16 编辑 ]
作者: temp    时间: 2011-1-8 00:33

当年看到"电脑爱好者"上介绍用权限之剑的文章,我测试了很久,为此重装了无数次系统,后来总算弄明白了具体的参数,但具体那些文件夹和文件该设什么权限一直没弄明白,所以放弃使用权限之剑了
如果cscript.exe所在的文件夹被设置为拒绝访问,唯一可以用批修改回来的办法是用
  1. setacl.exe "完整的路径和文件夹名" /dir /set "使用的用户名" /full
复制代码





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