如何通过.bat脚本仅关闭应用窗口而保留.exe进程后台运行
解决方案
方案1:批处理(.bat)修改版
原有bat脚本仅需要修改最后一行的start命令即可实现无窗口启动,修改后完整代码如下:
@echo off TITLE Bejelentkezes ujrainditasa TASKKILL /F /im eszig-eid.exe TASKKILL /F /im eszig-cmu.exe start /d "C:\Program Files (x86)\ESZEMELYI\eSzemelyi_Kliens" /min /b eszig-cmu.exe
参数说明:
/b:启动应用时不创建新的命令行窗口/min:启动时窗口状态为最小化,避免界面弹出
如果需要完全彻底隐藏窗口,批处理方案可以借助内置的PowerShell命令实现,把最后一行替换为以下内容即可:
powershell -Command "Start-Process -FilePath 'eszig-cmu.exe' -WorkingDirectory 'C:\Program Files (x86)\ESZEMELYI\eSzemelyi_Kliens' -WindowStyle Hidden"
方案2:纯PowerShell实现方案
该方案兼容性更好,窗口隐藏逻辑更稳定,完整代码如下:
# 终止目标进程 Stop-Process -Name "eszig-eid" -Force -ErrorAction SilentlyContinue Stop-Process -Name "eszig-cmu" -Force -ErrorAction SilentlyContinue # 隐藏窗口启动eszig-cmu.exe Start-Process -FilePath "eszig-cmu.exe" -WorkingDirectory "C:\Program Files (x86)\ESZEMELYI\eSzemelyi_Kliens" -WindowStyle Hidden
参数说明:
-ErrorAction SilentlyContinue:如果进程不存在时不输出报错信息,不影响脚本执行-WindowStyle Hidden:启动进程时直接隐藏所有窗口,仅保留后台进程运行
注意事项
- 上述方案均基于
eszig-cmu.exe本身支持后台无窗口运行的前提设计,若程序本身强制弹出交互窗口,需额外配置程序本身的启动参数 - 执行脚本时如果提示权限不足,右键选择「以管理员身份运行」即可
内容的提问来源于stack exchange,提问作者Barnabás Schmidt
相关产品推荐
相关产品推荐

