[英]When opening vscode using batch file, cmd opens and doesn't close
使用 VSCode 1.52.1,我可以在退出批處理腳本后不打開 cmd 窗口的情況下啟動它的唯一方法是:
explorer.exe "%userprofile%\AppData\Local\Programs\Microsoft VS Code\Code.exe"
注意:它不涉及打開要使用的特定本地目錄。 但是也許您可以找到解決方案,例如將文件夾保存為工作區或使用Ctrl + R打開最近的文件夾。 另外,如果您只在該目錄/工作區中工作,或者在關閉 VSCode 之前使用它,它將在下次啟動時自動打開。
那是因為你實際上是在調用批處理文件code.cmd
其位於[VSCodePath]\\bin\\code.cmd
。 code.cmd
文件依次調用實際的 VSCode 可執行文件code.exe
使用start
命令調用批處理文件( .BAT
或.CMD
) start
,將創建 CMD 進程的新實例來處理批處理文件的執行,但它使用/K
開關而不是/C
調用 CMD 進程
比如start code.cmd
執行cmd /k code.cmd
正是/K
開關使新的 cmd 在完成批處理文件的執行后保持打開狀態。
要解決此問題,請不要直接將批處理文件提供給start
命令,而是通過顯式 CMD 調用執行它:
@echo off
start cmd /C code "C:\GitHub\TestApp\testapp"
exit
該 CMD 窗口與您剛剛打開的 VSCode 實例相關聯。 嘗試關閉它將終止您啟動的應用程序。 (在這種情況下, VSCode )
start xxx xxx...
命令打開一個新的 cmd 終端來執行它的操作。 即使出現了一個新的提示,它本身可以用作普通終端,但 VSCode 進程作為父進程不可阻擋地鏈接到它。
如果您的目標是不啟動單獨的 cmd 窗口,請運行:
start code /b "C:\\GitHub\\TestApp\\testapp"
它只是在同一窗口中運行命令。 VSCode 窗口仍然不可避免地綁定到當前 cmd 窗口,如果 cmd 窗口消失,它將關閉,但至少沒有啟動另一個 cmd 窗口。
Windows 無法從終端在后台啟動程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.