标题: [已结]定时检测指定进程的批处理中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
谢啦