【发布时间】:2021-08-17 15:27:31
【问题描述】:
使用上一个问题 (Kill process after timeout when homonym processes are open - batch) 的建议,我能够在超时后杀死同音进程:
popd
pushd mypath
for /f %%i in ('powershell "(Start-Process myapp.exe -passthru).ID"') do (
timeout /t 180
taskkill /PID %%i
)
但是,我想在不显示(和闪烁)窗口的情况下启动该过程。 我发现了很多问题,例如:How to run a PowerShell script without displaying a window? 但我无法将它们结合到我的脚本中。我该怎么做?
感谢您的帮助
【问题讨论】:
-
你试过隐藏“-WindowStyle”吗? Start-Process 具有相同的参数。
-
@mklement0 你如何看待像 PS2Exe 这样的“编译”脚本。我还没有尝试过,但是从我的阅读来看,它似乎利用了备用主机。它还有一个
-NoConsole参数可以满足要求。诚然,将脚本包装在 EXE 中以包装在 BAT 中似乎有点俄罗斯娃娃,但至少应该解决隐藏窗口的核心问题。另外,我知道可能存在 VS 误报问题......我几乎把它放在一个带有参考的答案中,但认为现在作为评论可能会更好。 -
@Steven,是的,PS2Exe-GUI 是一个选项,尽管 AV 软件可能(错误地)抱怨它;请看我的回答,它试图概述各种选项。
标签: powershell batch-file