如何通过BAT在提升权限的CMD中执行taskkill命令关闭冻结游戏?
解决方案
你只需要调整原有的BAT脚本,让PowerShell启动提升权限的CMD时,直接传入要执行的taskkill命令参数即可,具体有两种实现方式:
方式1:启动CMD并自动执行taskkill后关闭窗口
把你的BAT脚本内容替换成下面这行:
powershell -Command "Start-Process cmd.exe -Verb RunAs -ArgumentList '/c taskkill /f /im game.exe'"
参数细节说明:
/c:告诉CMD执行完后续命令后自动关闭窗口/f:强制终止目标进程(针对顽固冻结的游戏非常必要)/im game.exe:指定要终止的进程名(如果你的需求是按PID终止,把/im game.exe换成/pid 进程ID数字即可,比如/pid 12345)
方式2:启动CMD并执行taskkill后保留窗口(方便查看执行结果)
如果想在命令执行完后保留CMD窗口,方便确认是否成功终止进程,把/c换成/k就行:
powershell -Command "Start-Process cmd.exe -Verb RunAs -ArgumentList '/k taskkill /f /im game.exe'"
特殊情况处理:进程名含空格
如果你的游戏进程名包含空格(比如My Cool Game.exe),需要给进程名加上双引号,调整后的命令如下:
powershell -Command "Start-Process cmd.exe -Verb RunAs -ArgumentList '/c taskkill /f /im ""My Cool Game.exe""'"
这里用两个双引号是为了在PowerShell的字符串里正确转义双引号,避免语法错误。
内容的提问来源于stack exchange,提问作者user9560666
相关产品推荐
相关产品推荐

