中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 10:50
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 统计用户组信息 查看 2,992 回复 51
46 你一步一步试试 发表于 2007-02-10 07:49 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
19年会员
UID 74981
性别 男
状态 离线
你一步一步再试试

我得回家了,下面的例子供你参考
@echo off
echo 所有用户帐号ID为:
echo.
for /f "skip=4 tokens=1-3" %%i in ('net user') do (
if not "%%i"=="命令成功完成。" echo %%i
if not "%%j"=="" echo %%j
if not "%%k"=="" echo %%k
)
echo.
echo 当前用户帐号ID为:%username%
pause>nul


显示进度条.bat
@echo off
:: code by jm 2006-11-30 CMD@XP
set var=">"
set/p=正在加载: <nul
ping -n 2 127.1>nul
for /l %%i in (1,1,20) do (
set/p=%var%<nul
ping -n 2 127.1>nul
)
echo.
echo.
pause
47 发表于 2007-02-10 08:29 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
按照你的方法,是能显示用户,但用户的信息还是没能显示出来啊
48 再试试 发表于 2007-02-10 22:05 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
19年会员
UID 74981
性别 男
状态 离线
for /f "skip=4 tokens=1-3" %%i in ('net user') do (
if not "%%i"=="命令成功完成。" echo %%i >>1.txt
if not "%%j"=="" echo %%j >>1.txt
if not "%%k"=="" echo %%k >>1.txt
)
for /f %%a in (1.txt) do net user %%a | find "用户名"
::for /f %%a in (1.txt) do net user %%a | find "本地组成员"
::for /f %%a in (1.txt) do net user %%a | find "全局组成员"

[ Last edited by qingfushuan on 2007-2-10 at 09:53 AM ]
49 发表于 2007-02-10 22:15 ·  中国 北京 歌华宽带
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
Originally posted by qingfushuan at 2007-2-10 09:05 AM:
for /f "skip=4 tokens=1-3" %%i in ('net user') do (
if not "%%i"=="命令成功完成。" echo %%i >>1.txt
if not "%%j"=="" echo %% ...

这个脚本执行的结果
__vmware_user__
Administrator
Guest
HelpAssistant
SUPPORT_388945a0
还没有把用户的组信息给统计出来呢,兄弟再给看看?
50 试试行吗? 发表于 2007-02-10 23:00 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
19年会员
UID 74981
性别 男
状态 离线
@echo off
for /f "skip=4 tokens=1-3" %%i in ('net user') do (
if not "%%i"=="命令成功完成。" echo %%i >>1.txt
if not "%%j"=="" echo %%j >>1.txt
if not "%%k"=="" echo %%k >>1.txt
)
for /f %%a in (1.txt) do net user %%a | find "用户名"&net user %%a | find "本地组成员"&net user %%a | find "全局组成员"

[ Last edited by qingfushuan on 2007-2-10 at 10:07 AM ]
51 更精简的 发表于 2007-02-10 23:38 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
19年会员
UID 74981
性别 男
状态 离线
@echo off
for /f "skip=4 tokens=1-3" %%i in ('net user') do (
if not "%%i"=="命令成功完成。" echo %%i >>1.txt
if not "%%j"=="" echo %%j >>1.txt
if not "%%k"=="" echo %%k >>1.txt
)
for /f %%a in (1.txt) do net user %%a|findstr /r "用户名 本地组成员 全局组成员"


我是菜鸟边学边回答你的问题哈,不好意思罗,上面还可以精简吗,烦请那位老鸟回答一下,我想应该可以不产生1.txt的?

[ Last edited by qingfushuan on 2007-2-10 at 11:28 AM ]
52 发表于 2007-02-10 23:43 ·  中国 江苏 连云港 电信
高级用户
★★★
前进者
积分 641
发帖 303
注册 2007-01-10 02:57
19年会员
UID 76009
性别 男
状态 离线
%username%始终说的是一个用户啊,不会列出所有用户啊。直接net user会列出所有用名,你用echo %username%就是你现在登陆计算机的这个用户名。
我相信总有一天,总会遇到一个人可以相濡以沫、相吻以湿!
论坛跳转: