我有个有趣的问题当我在一天的开始运行一个powershell脚本(ExampleStartupScript.ps1)时,它会运行并给予我这个:Completed Script and then a bunch of Utility Processes...
如果我什么都不做,它会保持打开状态,即使我在脚本中使用“Exit”或“stop-process”命令来结束脚本。窗口不会关闭。我将手动关闭它,它也将关闭我的Visual Studio Code应用程序窗口。有什么原因吗?
我为VSCode准备的代码行是:
Start-process -filepath "C:\Users\MyUserName\AppData\Local\Programs\Microsoft VS Code\Code.exe"
我有VSCode设置为运行作为一个管理员时,打开以及。
理想情况下,我希望我的脚本运行,打开我需要的东西,然后在完成时关闭。但是我必须手动关闭窗口并重新打开VSCode。这不是一个打破的东西,但它是一个奇怪的。
- VScode版本1.77.3
- Powershell 7-x647.3.4.0
---我已经尝试和期待---
在脚本的末尾添加Exit
没有任何作用。
已尝试Stop-process -name Pwsh -force
尝试了stop-process -name Pwsh 1068
...(与任务管理器应用程序编号相关的编号。)有2个出现,但可能会重新访问...
总的来说,我希望我的脚本在我登录时打开,它打开了我当天需要的应用程序,然后我希望它关闭。(但不会自动关闭。)
1条答案
按热度按时间dhxwm5r41#
你好,我刚刚检查了什么是从cmd与lauchned。
有趣的结果是,如果你从cmd启动它。
启动的是code.cmd,而不是安装根目录下的Code.exe。
这应该能达到你的目的
在此之后,您可以执行(--new-windows作为代码命令行选项的示例)
code.cmd中的命令是从exe分离控制台会话所必需的。所以,我建议按原来的打算去做。
关闭vscode比可能更复杂或更简单,这取决于您的特定需求。
一个真实的好的例子如何管理窗口可以在这里找到。How can I kill the child process without PID。但在您的情况下,您有一个PID,因此可能不需要大部分代码。
基本的答案是将WMClose发送到正确的窗口,但一个进程可能有许多窗口。
但也许杀死$PID对你来说就足够了。