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

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