[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 求一个批处理能检测另外一个指定的批处理是否正在运行

求一个批处理能检测另外一个指定的批处理是否正在运行

本帖最后由 老刘1号 于 2017-12-24 20:42 编辑

回复 1# 小渣飞
回复 6# Batcher
回复 4# hlzj88
  1. wmic process where name="cmd.exe" get commandline /value
复制代码
得到所有正在运行的CMD的参数
直接打开bat的话参数基本是固定的,类似
CommandLine="C:\Windows\System32\cmd.exe" /C "R:\TEMP\uh1xsild.3xk.BAT"
这样

TOP

待检测的批处理代码里面使用title命令设置一个标题
检测批处理代码里面使用 tasklist 命令找到判断那个title对应的进程是否存在
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

好的谢谢啦

TOP

假设一个批处理只 调用一个findstr ,是可以kill的,但批处理整体的功能受损,如同时有两个findstr,是不能区分和kill的。
目的,学习批处理

TOP

谢谢了,那我问一下可不可以利用相似的命令比如说 taskkill /eq之类的

TOP

本帖最后由 hlzj88 于 2017-12-24 07:57 编辑

批处理一般不可以检测到另外的批处理。是因为假设你开十个cmd窗口,是没法判断你要检测谁是你要的。
但是如果你加一个判断标志文件,就可以检测到指定批处理是否在运行。
  1. @echo off
  2. echo.>d:\标志.txt
  3. ......
  4. del /q d:\标志.txt
  5. exit
复制代码
例子1这样我们只需要检测是否存在d:\标志.txt,就可以判断指定批处理是否正在运行。
  1. @echo off
  2. ......
  3. echo.>d:\标志.txt
  4. exit
复制代码
例子2这样我们只需要检测是否存在d:\标志.txt,就可以判断指定批处理是否运行完毕。
目的,学习批处理

TOP

返回列表