标题: [其他] 求一个批处理能检测另外一个指定的批处理是否正在运行 [打印本页]
作者: 小渣飞 时间: 2017-12-23 23:35 标题: 求一个批处理能检测另外一个指定的批处理是否正在运行
求一个批处理能检测另外一个指定的批处理是否正在运行
作者: hlzj88 时间: 2017-12-24 07:54
本帖最后由 hlzj88 于 2017-12-24 07:57 编辑
批处理一般不可以检测到另外的批处理。是因为假设你开十个cmd窗口,是没法判断你要检测谁是你要的。
但是如果你加一个判断标志文件,就可以检测到指定批处理是否在运行。- @echo off
- echo.>d:\标志.txt
- ......
- del /q d:\标志.txt
- exit
复制代码
例子1这样我们只需要检测是否存在d:\标志.txt,就可以判断指定批处理是否正在运行。- @echo off
- ......
- echo.>d:\标志.txt
- exit
复制代码
例子2这样我们只需要检测是否存在d:\标志.txt,就可以判断指定批处理是否运行完毕。
作者: 小渣飞 时间: 2017-12-24 11:46
谢谢了,那我问一下可不可以利用相似的命令比如说 taskkill /eq之类的
作者: hlzj88 时间: 2017-12-24 13:06
假设一个批处理只 调用一个findstr ,是可以kill的,但批处理整体的功能受损,如同时有两个findstr,是不能区分和kill的。
作者: 小渣飞 时间: 2017-12-24 13:25
好的谢谢啦
作者: Batcher 时间: 2017-12-24 19:08
待检测的批处理代码里面使用title命令设置一个标题
检测批处理代码里面使用 tasklist 命令找到判断那个title对应的进程是否存在
作者: 老刘1号 时间: 2017-12-24 20:40
本帖最后由 老刘1号 于 2017-12-24 20:42 编辑
回复 1# 小渣飞
回复 6# Batcher
回复 4# hlzj88 - wmic process where name="cmd.exe" get commandline /value
复制代码
得到所有正在运行的CMD的参数
直接打开bat的话参数基本是固定的,类似
CommandLine="C:\Windows\System32\cmd.exe" /C "R:\TEMP\uh1xsild.3xk.BAT"
这样
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |