2
A
回答
1
由於findstr
在輸入中存在字符串時返回0,否則返回非零值,您可以在該命令的ERRORLEVEL
上測試以確定程序是否正在運行。
tasklist | findstr /i "java.exe" > NUL
if ERRORLEVEL 1 exit /b 1
echo ...do something here ...
您可以使用布爾運算符||
將其壓縮到一行。
tasklist | findstr /i "java.exe" >NUL || exit /b 1
echo ...do something here ...
運行help findstr
查看您可以給出的選項列表。如果你想要更精確的匹配,使「java.exe」與「notjava.exe」不匹配,你可以使用/B
開關。
tasklist | findstr /i /b "java.exe" >NUL || exit /b 1
echo ... do something here ...
的tasklist
程序可以做自己的過濾,但你還是要貫穿findstr
輸出,因爲某些原因tasklist
似乎總是設置ERRORLEVEL
爲0的輸出可能變化取決於計算機的本地化設置也是如此,所以它不像一個解決方案那樣靈活和通用。但在這裏,它是:
tasklist /fi "imagename eq iexplore.exe" | findstr "iexplore.exe" >NUL && echo the task is running
如果你希望你的批處理文件停止其他正在運行的過程中,首先你會做上述選項之一,看看它是否正在運行,然後你會運行taskkill
停止它。例如,
taskkill /im /t "java.exe"
有關更多選項,請參閱taskkill /?
。根據你的使用情況,您可以直接前往taskkill
其過濾選項,像這樣:
taskkill /fi "imagename eq java.exe"
+0
非常感謝!這工作! – JeffersonYu1
0
你可以試試這個批次是這樣的:
@echo off
Set Process2Kill=java
FOR /F "usebackq tokens=2" %%i IN (`tasklist ^| findstr /r /b "%Process2Kill%*[.]exe"`) DO taskkill /pid %%i
pause
的command_to_process需要回引號(``)位於 命令的兩側。
管道( 「| 」)的command_to_process內需要與 轉義插入符號(「 ^」)。
相關問題
- 1. 如何運行一個程序,如果另一個程序正在運行c#或.bat
- 2. 如果一個程序已經在運行,我該如何關閉程序?
- 3. 在關閉Java應用程序時運行.bat文件
- 4. 通過bash腳本關閉一個正在運行的程序
- 5. 從C打開/運行另一個程序,然後關閉這個程序
- 6. bat文件運行後關閉windows應用程序
- 7. 如果一個進程正在運行
- 8. CMD正在關閉,不讓看到結果(Java,從.bat運行.jar)
- 9. 當應用程序關閉時關閉另一個進程
- 10. 正在運行另一個程序的調試程序
- 11. 關閉另一個應用程序
- 12. 停止一個函數,如果另一個正在運行
- 13. Android如何關閉正在運行的應用程序?
- 14. 綁定服務正在運行,但如果我關閉應用程序
- 15. 如果#%n應用程序正在運行,Applescript將禁用計劃關閉?
- 16. 防止QApplication應用程序從關閉,如果服務正在運行
- 17. 運行過程中,如果應用程序關閉
- 18. 從命令行關閉正在運行的程序
- 19. 從流程中關閉正在運行的程序
- 20. 應用程序在關閉後運行
- 21. 如何正確關閉一個java命令行程序
- 22. 觀看另一個應用程序,如果它關閉關閉我的應用程序(無需輪詢)c#
- 23. 如何關閉另一個線程?
- 24. swift 2如果位置關閉,則阻止程序的運行
- 25. 批處理:如果程序沒有運行,關閉PC?
- 26. 應用程序強行關閉運行。
- 27. 使用AIR關閉正在運行的程序
- 28. 從BroadcastReceiver關閉正在運行的應用程序
- 29. 在.NET中運行BAT程序
- 30. 讀取另一個正在運行的.NET程序的屬性
這是絕對有可能的。你試過什麼了? – SomethingDark
我很新的.bat文件。 我只是知道如何改變顏色,打開程序,IPCONFIG,和那個級別的東西。 – JeffersonYu1
我不會爲你寫代碼,但我會指出你在正確的方向。您可以使用'tasklist'來獲取當前正在運行的任務的列表,並且可以使用'find'來搜索特定字符串的文本塊。您可以使用'|'將一個命令的輸出用作另一個命令的輸入。您可以使用'exit'來結束當前正在運行的腳本。 – SomethingDark