中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 20:08
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]开关用的BAT文件. 查看 1,595 回复 11
楼 主 [已结]开关用的BAT文件. 发表于 2006-05-12 17:27 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 60
发帖 14
注册 2006-03-23 09:28
20年会员
UID 52635
状态 离线
开关用的BAT文件.
做一BAT文件,用来打开或者关闭AAA.exe文件.
先用tlist判断进程中是否有AAA.exe文件.
如果没有这进程,则要打开该进程.
如果有这进程,则要杀死这进程.怎样实现?

我用了if,可是我不和怎样判内存是否有这进程.

[ Last edited by willsort on 2006-6-11 at 19:31 ]
2 发表于 2006-05-15 08:13 ·  中国 广东 深圳 南山区 电信
初级用户
积分 60
发帖 14
注册 2006-03-23 09:28
20年会员
UID 52635
状态 离线
大家能给个思路 我吗?
3 发表于 2006-05-23 00:35 ·  中国 广东 深圳 福田区 电信
初级用户
积分 82
发帖 31
注册 2006-05-23 00:33
20年会员
UID 55824
状态 离线
tasklist|find "QQ.exe">1.txt
type 1.txt|find "QQ.exe" && taskkill /f /im qq.exe||start D:\Tencent\QQ\qq.exe
del 1.txt


将"qq.exe"替换为你的程序.
4 发表于 2006-05-23 01:55 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re fan927:

可以考虑合并为一句:

tasklist|find "QQ.exe">nul && taskkill /f /im qq.exe || start D:\Tencent\QQ\qq.exe
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
5 发表于 2006-05-23 07:21 ·  中国 广东 深圳 福田区 电信
初级用户
积分 82
发帖 31
注册 2006-05-23 00:33
20年会员
UID 55824
状态 离线
是啊,确实画蛇添足了.
6 发表于 2006-05-24 11:07 ·  中国 广西 河池 电信
初级用户
积分 80
发帖 29
注册 2006-05-03 03:20
20年会员
UID 54852
状态 离线
Originally posted by willsort at 2006-5-23 01:55:
Re fan927:

可以考虑合并为一句:

tasklist|find "QQ.exe">nul && taskkill /f /im qq.exe || start D:\Tencent\QQ\qq.exe

如果我这样用:
:A
tasklist|find "QQ.exe“ || shutdown -l -f -t 10(没有这个程序就注销)
???? (如果有这个程序就延时5分钟,再回到:A。该什么写)
7 发表于 2006-05-26 05:56 ·  中国 广东 深圳 福田区 电信
初级用户
积分 82
发帖 31
注册 2006-05-23 00:33
20年会员
UID 55824
状态 离线
A:
tasklist|find "QQ.exe“ &&ping 1.1.1.1 -n 1 -l 1 -w 300000&&goto A|| shutdown -l -f -t 10

\\ tasklist|find "QQ.exe“如果成功,就ping 1.1.1.1 这个无法ping通的ip来延时,延时完成后,再返回A:
ping 1.1.1.1 -n 1 -l 1 -w 300000,我用抓包工具测试过,在300秒内只会产生一个64字节的icmp包,对网络的影响可以忽略不计.

[ Last edited by fan927 on 2006-5-26 at 06:20 ]
8 发表于 2006-06-11 17:54 ·  中国 河南 郑州 电信
初级用户
★★
积分 136
发帖 59
注册 2006-06-02 16:05
20年会员
UID 56438
状态 离线
学习了
9 发表于 2006-06-18 06:11 ·  中国 广东 广州 增城区 电信
初级用户
积分 45
发帖 15
注册 2006-06-18 05:46
20年会员
UID 57191
状态 离线
2000 系统的话怎么实现哦``?
10 发表于 2006-06-26 19:08 ·  中国 上海 杨浦区 电信
新手上路
积分 2
发帖 1
注册 2006-06-26 19:01
20年会员
UID 57605
性别 男
来自 shanghai
状态 离线
学了
11 确实,但是要是我想实现一个循环判断的程序呢? 发表于 2006-07-03 10:12 ·  中国 河北 唐山 联通
新手上路
积分 2
发帖 1
注册 2006-06-07 23:40
20年会员
UID 56722
状态 离线
循环判断程序是否存在内存中,然后作出是否删除的选择,怎么作出循环的命令呢?
12 发表于 2006-07-11 14:14 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
tasklist|find "QQ.exe“ &&ping 1.1.1.1 -n 1 -l 1 -w 300000&&goto A|| shutdown -l -f -t 10
受教了……谢谢楼上的大虾,有两个问题:
1、延时300000后面的"||"和"&&"这2个符号各是什么作用?
2、如果想这个带有PING命令的批处理文件在命令行窗口不显示内容,加上@echo off 后怎么还是不行啊?显示ping 1.1.1.1…… 怎么解决?谢谢……
论坛跳转: