中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 13:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样用批处理设置共享权限 查看 1,522 回复 13
楼 主 怎样用批处理设置共享权限 发表于 2008-05-14 14:56 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
我们每增加一台工作站(比如RC205),要在服务器上作一些动作:
1.新建一个用户为RC205
2.在E:\bak下新建一个文件夹为RC205
3.设置RC205的安全权限为administrator和RC205用户可读写.
4.共享该文件夹,共享为所有人可读写(我们通过安全属性控制访问权限)
请各位帮忙看能不能把上述内容用批处理写出来.先谢了!
如果电脑名称能从一个文件中读取更好,比如建一个电脑名称一览表,当我们新增电脑时,我们把这台电脑的电脑名登记在这个文件中,然后批处理会检测到新增加内容,对应做上面一系列的操作.
2 发表于 2008-05-14 16:54 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
1.
net user RC205 password /add

2.
md "E:\bak\RC205"

3.
在本版搜索setacl

4.
net share myshare=E:\bak\RC205
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
wxs81514 +1 2008-05-14 20:30
3 发表于 2008-05-14 20:29 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
非常感谢谢二楼的朋友,了解到setacl是一个很有用的工具,它不但可以设置注册表\文件夹的权限,还可以设共享的权限,不知道它能不能备份共享权限.
我找不到它的程序下载,可否再帮忙发一个上来.
4 发表于 2008-05-14 20:52 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
下到了,研究了好久还是不知道怎么用,高手举个例子好不好?
比如:把e:\bak\rc205设置为只有rc205和administrator这两个用户可读写
5 发表于 2008-05-14 23:32 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by wxs81514 at 2008-5-14 08:52 PM:
下到了,研究了好久还是不知道怎么用,高手举个例子好不好?
比如:把e:\bak\rc205设置为只有rc205和administrator这两个用户可读写

这样可以吗?

@echo off
cacls "e:\bak\rc205" /g administrator:f
cacls "e:\bak\rc205" /g rc205:f /e
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
wxs81514 +2 2008-05-15 10:03
6 发表于 2008-05-15 10:03 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
太激动了,又学会了一个新命令,cacls,很好用,谢谢了.比setacl要简单多了.而且可以内部调用,不用专门下载.
不过如果能实现从文件中读取电脑名称就更好了.
7 发表于 2008-05-15 10:40 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by wxs81514 at 2008-5-15 10:03 AM:
太激动了,又学会了一个新命令,cacls,很好用,谢谢了.比setacl要简单多了.而且可以内部调用,不用专门下载.
不过如果能实现从文件中读取电脑名称就更好了.

试试这个吧:

@echo off
for /f "tokens=2 delims==" %%a in ('wmic datafile where "Name='c:\\test\\a.txt'" get CSName /value ^| findstr /i "CSName"') do echo 计算机名:%%a
8 发表于 2008-05-15 14:45 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
不行,显示"无可用范例"
9 发表于 2008-05-15 14:50 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by wxs81514 at 2008-5-15 02:45 PM:
不行,显示"无可用范例"

我的测试文件是C:\test\a.txt
请根据实际需要修改代码
10 发表于 2008-05-15 18:15 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
前面是我弄错,但改了一下还是不行,显示:
节点-RC303
错误:
代码:0x80041017
说明=无效查询
设备=WMI
11 发表于 2008-05-16 11:57 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
能否把你的测试代码贴出来看看?
12 发表于 2008-05-16 14:51 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
代码是:因为我的文件是C盘上的a.txt
for /f "tokens=2 delims==" %%a in ('wmic datafile where "Name='c:\a.txt'" get CSName /value ^| findstr /i "CSName"') do echo 计算机名:%%a
现在有一个新的代码了,我测试了可以:
for /f "tokens=1" %%i in (A.TXT) do echo 电脑名称:%%i
13 发表于 2008-05-16 15:00 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
原来你的“从文件中读取电脑名称”是这个意思,呵呵。
14 发表于 2008-05-16 15:28 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
兄弟你原来没理解我的意思啊,不好意思,是我没有说清楚.还是谢谢你.
论坛跳转: