中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]关于用tokens取得命令结果中的数据
作者:
标题: [已结]关于用tokens取得命令结果中的数据 上一主题 | 下一主题
rishairu
新手上路





积分 2
发帖 2
注册 2008-10-20
来自 沈阳
状态 离线
『楼 主』:  [已结]关于用tokens取得命令结果中的数据 使用 LLM 解释/回答一下

我写的一个程序中
set process="wmiprvse.exe"
set service_num=1
set argc=0
for %%c in ( %* ) do set /a argc+=1
if not %argc% == 0 goto error0

for /F "usebackq tokens=1" %%a in (`tasklist`) do if "%%c" == %process% set service_num=0

tasklist执行的时候是
System Idle Process 0 Console 0 28 K
System 4 Console 0 260 K
smss.exe 600 Console 0 404 K
csrss.exe 648 Console 0 6,308 K
winlogon.exe 676 Console 0 4,700 K
services.exe 720 Console 0 4,544 K
lsass.exe 732 Console 0 1,860 K
ati2evxx.exe 900 Console 0 4,136 K
svchost.exe 916 Console 0 5,216 K
svchost.exe 988 Console 0 4,712 K
svchost.exe 1100 Console 0 27,628 K
svchost.exe 1196 Console 0 3,752 K
svchost.exe 1296 Console 0 5,860 K
spoolsv.exe 1472 Console 0 5,732 K
atchksrv.exe 1604 Console 0 2,040 K
wmiprvse.exe 1224 Console 0 5,868 K

等等信息,我想在想查询%process%是不是在这里面,我把tokens设置成了1,如果%process%在这里存在,则set service_num=0
为什么我的程序最后结果是service_num=1呢

Last edited by HAT on 2008-10-20 at 17:39 ]


2008-10-20 16:34
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
rishairu
新手上路





积分 2
发帖 2
注册 2008-10-20
来自 沈阳
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

解决了

自己的疏忽,%%a应该是%%c。


2008-10-20 16:46
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: