![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 03:30 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]关于用tokens取得命令结果中的数据 |
| 可打印版本 670 / 1 |
| 第1楼 rishairu | 发表于 2008-10-20 16:34 |
| 新手上路 发帖 2 积分 2 来自 沈阳 | |
|
[已结]关于用tokens取得命令结果中的数据 我写的一个程序中
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 ] |
|
| 第2楼 rishairu | 发表于 2008-10-20 16:46 |
| 新手上路 发帖 2 积分 2 来自 沈阳 | |
|
解决了
自己的疏忽,%%a应该是%%c。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |