我是使用 cmd 和批處理腳本的新手。這是我試圖用.bat檔案做的事情。
- 轉到檔案夾
- 在檔案資源管理器中打開該檔案夾
- 在 vscode 中打開該檔案夾
- 啟動火狐瀏覽器
順序在這里并不重要。以任何順序執行這些任務都很好。
這是我最初撰寫的命令
cd/
E:
cd folder1/folder2/folder3
code .
start .
start firefox
但是使用這些命令,我??得到的結果是
- 只有vscode以我想用vscode打開的檔案夾開頭
- 檔案資源管理器和 Firefox 未啟動
- cmd.exe 繼續運行。但它似乎只執行到code 。命令
- 當我關閉 vscode 時,cmd.exe 也會隨之關閉
然后我改變了命令的順序如下
cd/
E:
cd folder1/folder2/folder3
start .
start firefox
code .
這次一切都按預期進行。我查找了start命令的檔案,但沒有找到關于start 的任何內容(或者我可能不明白)。命令。
誰能解釋一下為什么當我更改命令順序時結果會發生變化?
uj5u.com熱心網友回復:
正如評論中已經提到的,code實際上是一個批處理檔案,code.cmd.
如果您的 VSCode 安裝程式將位置添加到您的%PATH%,請查看那里,您應該會code.cmd在該\bin目錄中看到。
當您從另一個運行批處理檔案時,如果您希望在完成后將控制權傳遞回初始腳本,您需要使用call命令運行它。
@CD /D "E:\folder1\folder2\folder3" 2>NUL || Exit /B
@Call "%ProgramFiles%\Microsoft VS Code\bin\code.cmd" .
@Start "" "%SystemRoot%\explorer.exe" .
@Start "" "%ProgramFiles%\Mozilla Firefox\firefox.exe"
如果您不想要健壯的代碼,并希望假設檔案擴展名和環境設定,上面可以簡化為:
@CD /D E:\folder1\folder2\folder3
@Call code .
@Start explorer .
@Start firefox
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428983.html
