Board logo

标题: [已结]定时检测指定进程的批处理中for命令报错 [打印本页]

作者: kcxnvdos     时间: 2008-12-1 00:35    标题: [已结]定时检测指定进程的批处理中for命令报错
最近新学批处理,写了个bat,内容如下
:flag
tasklist >s:\1.txt 
set torf=false   
for /f %i in ( 'findstr  /i  "ppstr*" s:\1.txt' ) do ( set torf=true )
if %torf%==false ( taskkill /im ppsap.exe /f /t) 
ping 127.0.0.1 -n 10
goto flag
大概意图是想实现每10秒钟检测一下系统进程,如果检测ppstream.exe进程结束了,则删除ppsap.exe进程 以上每行单独在命令提示符窗口可以正确运行,但是如果做成bat则运行for那行确总是通不过,事实上我经常遇到在命令提示符下能运行但是做成bat就不能运行的情况,请高手指教。。。 顺便问下那个 in (‘command’) 里面可否试用管道符??能的话给个实例!
───────────────── 版务记录 ───────────────── 执行:HAT 操作:[2008-12-01]在帖子标题中增加搜索关键字 说明:原标题"批处理运行的问题"不利于论坛搜索 处罚:论坛新人免于积分处罚 提示:建议阅读以下帖子 {1415}提问的智慧 {7326}论坛新手必读,所有人的基本行为准则 {22703}请不要做浮躁的人 {32667}[愤怒]那些连标题都写不清楚的人们啊,你们醒醒吧 {32825}本版严厉整顿烂帖 ───────────────── 版务记录 ───────────────── [ Last edited by HAT on 2008-12-1 at 10:05 ]

作者: sea1112     时间: 2008-12-1 01:05
可用管道符,我帮你改成这样试试 @echo off :ag for /f %%a in ('tasklist^|findstr ppstr*') do ping -n 10 127.1>nul&&goto ag taskkill /im ppsap.exe /f /t [ Last edited by sea1112 on 2008-12-1 at 01:07 ]

作者: kcxnvdos     时间: 2008-12-1 01:27
谢啦