中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 23:02
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]奇怪delims=为什么总不能删除空格??
可打印版本  841 / 6
第1楼 redrains 发表于 2007-09-30 02:10
初级用户 发帖 26 积分 49
[求助]奇怪delims=为什么总不能删除空格??
我用
@echo for each ps in getobject _ >ps.vbs
@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs
@echo wscript.echo ps.handle^&vbtab^&ps.name^&vbtab^&ps.executablepath:next >>ps.vbs
cscript //nologo ps.vbs >>task.txt & del ps.vbs
pause
列举了进程:
得到如下:
1952 360tray.exe E:\program files\360safe\safemon\360Tray.exe
3420 QQ.EXE D:\Program Files\Tencent\QQ\QQ.exe
我用for /f " skip=1 tokens=1 delims=, " %%i in ('find "QQ.exe" task.txt') do @echo %%i 却得到:
3420 QQ.EXE D:\Program
我想去掉前面的空格得到3420,但是却从Program Files才进行分割,请问为什么?我将怎么分割为好

[ Last edited by redrains on 2007-9-30 at 02:13 AM ]
第2楼 zh159 发表于 2007-09-30 02:21
金牌会员 发帖 1,467 积分 3,687
那个分隔不是空格,是制表符{TAB}
第3楼 redrains 发表于 2007-09-30 08:15
初级用户 发帖 26 积分 49
那我怎么分离制表符{TAB} ,得到我想要的PID值呀?
第4楼 ccwan 发表于 2007-09-30 08:32
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
将for /f " skip=1 tokens=1 delims=, " %%i in ('find "QQ.exe" task.txt') do @echo %%i
改成for /f " skip=1 tokens=1 delims=, " %%i in ('find "QQ.exe" task.txt') do @echo %%i

注意红色的部分跟的空白部分是按TAB键得到的
第5楼 redrains 发表于 2007-09-30 08:45
初级用户 发帖 26 积分 49
谢谢ccwan,说得很清楚,已经可以了,但是在文件首行它还会出现---------- TASK.TXT ,能够屏蔽或删除吗?
第6楼 ccwan 发表于 2007-09-30 08:50
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
for /f "tokens=1 delims= " %%i in ('findstr "QQ.exe" task.txt') do @echo %%i
第7楼 redrains 发表于 2007-09-30 08:59
初级用户 发帖 26 积分 49
谢谢,真是万分感谢!已结!^_^
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023