中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求助:当前磁盘账户权限 上一主题 | 下一主题
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『楼 主』:  求助:当前磁盘账户权限

大家好,
我有这样一个需求,查找当前某盘符下存在的账户及权限,如果有Users账户则删除,如果没有System账户权限,则添加,并赋予FULL control权限。
我只知道cacls 对指定盘/文件的添加或删除账户权限,但不知道如何获取当前盘符下的账户。麻烦给个样例或者提示。

谢谢!

2010-7-20 15:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 2 楼』:  

谁给个提示,Google没搜到

2010-7-21 09:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 3 楼』:  

@echo off
echo 添加D的访问权限
cd/
cacls d: >>d:\1.txt
for /f "tokens=1 delims=\,:" %%i in (d:\1.txt) do (
set str=%%i
if "str"=="user" (cacls "d:" /P user:c /e)
else (cacls "d:" /g user:c /e)

)
我自己找了写了个,存在问题。
if else好像只有一条生效,如果当前存在user账户的权限,那么修改权限的话就不成功。

[ Last edited by coldface on 2010-7-22 at 15:38 ]

2010-7-22 14:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 4 楼』:  

谁给解释下 谢谢!

2010-7-22 16:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 5 楼』:  

下面是一个关于对F盘Users账户权限的判断及设定,如果Users账户不存在,则添加Users并设定为Control权限,如果Users权限存在,则判断其权限,如果不是COntrol权限则修正为Control。下面可以实现上述功能,但是会提示“系统文件找不到for”,求简化!
谢谢!

@echo off
echo F盘Users权限判断
set file=cacls f:
set file2=for %%c in ("Users") do findstr /r /c:"\<%%~c\>" %file%
set file3=for /f "tokens=2 delims=\" %%i in (%file2%)
for /f "tokens=1 delims=:" %%a in (%file3%) do (
set str=%%a
)
for /f "tokens=3 delims=)" %%b in (%file3%) do (
set str2=%%b
)
if not "%str%"=="Users" (
goto Add
if not "%str2%"=="C" (
goto Modify
)
)
:Add
cacls "f:" /g Users:c /e
:Modify
cacls "f:" /P Users:c /e

2010-7-30 13:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: