bat脚本判断进程是否存在

:loop
ping -n 5 127.0.0.1  rem (5秒执行一次下面的指令)
tasklist|find /i "notepad.exe" rem (检查是否存在notepad.exe进程,如果检测到,下面比较的值为0,为0表示存在。i表示忽略大小写)
if %errorlevel%==0 (
start "" "test.exe" rem(启动test.exe)
) else (

rem do something

)
goto :loop rem (循环)

 

 

注意  bat的语法会不通过,如果你把==0和后面的( 之间没有写入一个空格

 

start命令的时候,需要注意:如果路径没有空格,就不要把路径用引号引起来。否则执行不了,真坑。

有两种用法,如下:
start "" "D:\Tencent\QQ.exe"
start D:\Tencent\QQ.exe
路径中有空格的按第一排写,加上引号(注意除了路径要引起来外,前面还有一对引号);
路径没有空格的按第二排写。每个需要启动的程序写一行,就可以同时启动多个程序;

 

一般使用start命令,使用call命令的话会阻塞当前进程的执行。具体区别参考下面这篇文章:

https://blog.csdn.net/weixin_38316697/article/details/91389811

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章