制作.batch文件来启动/停止程序?

时间:2014-04-27 23:24:04

标签: batch-file

我需要一个批处理(.bat)文件,如果程序未打开则打开程序,如果程序打开则停止该程序。我有一个游戏,当发射器关闭时,它在后台保持打开状态。我必须以任务管理器结束它,否则我无法启动它,因为当应用程序打开两次时它不喜欢它(它不允许它),所以我想要一个批处理文件来执行此操作对我来说,然后将它绑定到一个宏。

3 个答案:

答案 0 :(得分:8)

检查您的程序是否正在运行:(此处为notepad.exe的示例)

@echo off
Set "MyProcess=Notepad.exe"

tasklist | find /i "%MyProcess%">nul  && echo %MyProcess% Is running || echo %MyProcess% Is not running

所以你可以这样做:

@echo off
Set "MyProcess=Notepad.exe"

tasklist | find /i "%MyProcess%">nul  && Taskkill /F/IM  "%MyProcess%" || start "%MyProcess%"

答案 1 :(得分:1)

这是另一种方法:

@echo off
tasklist /fi "imagename eq Launcher.exe" |find "." > nul && taskkill /f /im "Launcher.exe" & goto :EOF
tasklist /fi "imagename eq Launcher.exe" |find "." > nul || start "" steam://rungameid/243870 & goto :EOF

答案 2 :(得分:-1)

所以我想出来了:

@echo off
tasklist /fi "imagename eq Launcher.exe" |find ":" > nul
if errorlevel 0 taskkill /f /im "Launcher.exe" && exit
start steam://rungameid/243870
exit

它背后的逻辑是,如果您可以终止进程,则在创建进程的新会话之前结束提示。但如果该过程无法被杀死,则进行新的会话,然后结束提示。