中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]定时检测指定进程的批处理中for命令报错
作者:
标题: [已结]定时检测指定进程的批处理中for命令报错 上一主题 | 下一主题
kcxnvdos
新手上路





积分 16
发帖 9
注册 2008-8-25
状态 离线
『楼 主』:  [已结]定时检测指定进程的批处理中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 ]

2008-12-1 00:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sea1112
初级用户





积分 131
发帖 119
注册 2007-6-12
来自 gz
状态 离线
『第 2 楼』:  

可用管道符,我帮你改成这样试试
@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 ]

2008-12-1 01:05
查看资料  发送邮件  发短消息 网志  OICQ (24278528)  编辑帖子  回复  引用回复
kcxnvdos
新手上路





积分 16
发帖 9
注册 2008-8-25
状态 离线
『第 3 楼』:  

谢啦

2008-12-1 01:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: