中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 10:52
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 统计用户组信息
可打印版本  2,999 / 51
第46楼 qingfushuan 发表于 2007-02-10 07:49
高级用户 发帖 327 积分 502
你一步一步试试
你一步一步再试试

我得回家了,下面的例子供你参考
@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楼 yuipr 发表于 2007-02-10 08:29
初级用户 发帖 25 积分 52
按照你的方法,是能显示用户,但用户的信息还是没能显示出来啊
第48楼 qingfushuan 发表于 2007-02-10 22:05
高级用户 发帖 327 积分 502
再试试
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楼 yuipr 发表于 2007-02-10 22:15
初级用户 发帖 25 积分 52
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楼 qingfushuan 发表于 2007-02-10 23:00
高级用户 发帖 327 积分 502
试试行吗?
@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楼 qingfushuan 发表于 2007-02-10 23:38
高级用户 发帖 327 积分 502
更精简的
@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楼 oilio 发表于 2007-02-10 23:43
高级用户 发帖 303 积分 641
%username%始终说的是一个用户啊,不会列出所有用户啊。直接net user会列出所有用名,你用echo %username%就是你现在登陆计算机的这个用户名。
上一页  1 2 3 4
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023