中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 09:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 统计用户组信息 查看 2,990 回复 51
16 发表于 2007-02-10 05:24 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
Originally posted by yuipr at 2007-2-9 04:16 PM:

C:\Documents and Settings\yichuanj>@echo off for /f "tokens=2 delims=*" %a in ('net user ^|find "local"') do @echo %~a
off for /f "tokens=2 delims=*" %a in ('net ...

local的意思是要查询本机的用户组信息,不知道我这是不是写错了,改成任一主机名也行的,高人啊,帮帮我吧,今天必须要结果啊。

[ Last edited by yuipr on 2007-2-9 at 04:27 PM ]
17 发表于 2007-02-10 05:25 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
Originally posted by ccwan at 2007-2-9 04:21 PM:
你的net user 命令执行后输出的内容含有"local"吗?我这里没有哎。所以在我这里代码是不能用的。

有什么可行解决方案呢
18 net /? 发表于 2007-02-10 05:32 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
19年会员
UID 74981
性别 男
状态 离线
问问net /?嘛
19 发表于 2007-02-10 05:36 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
英文状态“本地组成员”是“Local Group Memberships”

英文CMD下:
for /f "tokens=2 delims=*" %%a in ('net user %username%^|find "Local Group Memberships"') do @echo %%~a


中文CMD下:
for /f "tokens=2 delims=*" %%a in ('net user %username%^|find "本地组成员"') do @echo %%~a
20 发表于 2007-02-10 05:36 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
关于这整个批处理你有什么好的建议呢,什么方法能实现我的需求啊
21 发表于 2007-02-10 05:45 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
Originally posted by zh159 at 2007-2-9 04:36 PM:
英文状态“本地组成员”是“Local Group Memberships”

英文CMD下:
for /f "tokens=2 delims=*" %%a in ('net user %username%^|find "Local Group Memberships&quo ... 

还是不对呢,怪了,难到在你们的机器上能够实现吗?
22 发表于 2007-02-10 05:47 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
C:\Documents and Settings\yichuanj>@echo off for /f "tokens=2 delims=*" %a in ('
net user %username%^ |find "Local Group Memberships"') do @echo %~a
FIND: Parameter format not correct
23 发表于 2007-02-10 05:59 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
Originally posted by yuipr at 2007-2-9 16:47:
C:\Documents and Settings\yichuanj>@echo off for /f "tokens=2 delims=*" %a in ('
net user %username%^ |find "Local Group Memberships"') do @echo %~a
FIND: Parameter format ...



兄每次都喜欢把 @echo off 和本应在第二行的命令连成一行一起运行吗?
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
24 发表于 2007-02-10 06:04 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
Originally posted by redtek at 2007-2-9 04:59 PM:



兄每次都喜欢把 @echo off 和本应在第二行的命令连成一行一起运行吗?

谢谢提醒:
C:\Documents and Settings\yichuanj>@echo off
for /f "tokens=2 delims=*" %a in ('net user %username%^|find "Local Group Member
ships"') do @echo %~a
The user name could not be found.

More help is available by typing NET HELPMSG 2221.
还是有问题呢,
25 发表于 2007-02-10 06:05 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
建议兄先将 for 去掉,先调试好 net .... 这句。

然后再把 for 加上,否则一层一层怎么错的都不知道,反而加深了调试和解决问题的复杂度:)


如果兄希望一步到位的解决问题,建议如下:


1、兄只执行 net user %username% 这句,然后贴上返回信息,为了方便调试。

2、兄在上面返回信息中标示出你想要什么信息(用颜色标示出来)

3、大家都确认正确以后,再加入 For 和 Find 来操作,这些只是一步的事儿。

[ Last edited by redtek on 2007-2-9 at 05:07 PM ]
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
26 发表于 2007-02-10 06:12 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
Originally posted by redtek at 2007-2-9 05:05 PM:
建议兄先将 for 去掉,先调试好 net .... 这句。

然后再把 for 加上,否则一层一层怎么错的都不知道,反而加深了调试和解决问题的复杂度:)



非常感谢你细致如微的回答。
C:\Documents and Settings\yichuanj>@echo off
net uesr %username%
The syntax of this command is:


NET

我这种调试方法不知道对不对?
27 发表于 2007-02-10 06:21 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
这是在切换代码页:437 英文状态下的 CMD 输出:
执行命令: net user %username% 所显示的内容:



User name abc
Full Name Abc
Comment
User's comment
Country code 000 (System Default)
Account active Yes
Account expires Never

Password last set 5/26/2005 2:26 PM
Password expires Never
Password changeable 5/26/2005 2:26 PM
Password required Yes
User may change password No

Workstations allowed All
Logon script
User profile
Home directory
Last logon 2/9/2007 7:54 AM

Logon hours allowed All

Local Group Memberships *Administrators *Debugger Users
*Remote Desktop Users *Users
Global Group memberships *None
The command completed successfully.




兄对照一下,想要得到什么?



另:兄在命令行输入

CHCP


输入上面的命令后回车,想看一下兄的 CMD 是默认哪一种代码页,并贴上兄的操做系统版本。



这是在 Windows CMD 中文 936 代码页下执行: net user %username% 命令的输入内容:



用户名 abc
全名 Abc
注释
用户的注释
国家(地区)代码 000 (系统默认值)
帐户启用 Yes
帐户到期 从不

上次设置密码 2005/5/26 下午 02:26
密码到期 从不
密码可更改 2005/5/26 下午 02:26
需要密码 Yes
用户可以更改密码 No

允许的工作站 All
登录脚本
用户配置文件
主目录
上次登录 2007/2/9 上午 07:54

可允许的登录小时数 All

本地组成员 *Administrators *Debugger Users
*Remote Desktop Users *Users
全局组成员 *None
命令成功完成。

    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
28 发表于 2007-02-10 06:26 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
另,我没有时间帮兄调试,
只是看着兄没有一次性把自己需要的内容说全,而且兄没有写出在自己机器上单步的执行效果,看着着急,
所以,才写出上面建议:)

如果兄写全了这些信息,给兄解决问题zh159兄和ccwan兄一步就可以帮兄解决掉这问题了:)

所以,建议兄一次写全问题,这样解决者全非常方便一次性解决掉:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
29 查询用户组 发表于 2007-02-10 06:26 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
19年会员
UID 74981
性别 男
状态 离线
net localgroup
30 发表于 2007-02-10 06:30 ·  中国 北京 联通
初级用户
积分 52
发帖 25
注册 2007-02-10 03:18
19年会员
UID 79113
性别 男
状态 离线
非常感谢redtek大哥的再次回答
C:\>chcp
Active code page: 936

我的操作系统是winxp en sp2
我在cmd模式下执行 C:\> net user %username%
The user name could not be found.

More help is available by typing NET HELPMSG 2221.

我和你的代码页应该是一样的,为什么我会提示找不到用户呢?看来就是net user %username%这步有问题。

[ Last edited by yuipr on 2007-2-9 at 05:33 PM ]
论坛跳转: