CMD 命令提示字元中執行 PowerShell 指令

在 CMD 命令提示字元中執行 PowerShell 指令非常簡單,通常只需要在指令前加上 powershell 前綴。這在你寫批次檔(.bat)或只想在現有視窗快速跑一行腳本時很有用。

執行單行指令

如果你只想執行一個簡單的 PowerShell 指令,可以使用 -Command 參數(或縮寫為 -c)。

DOS

powershell -Command "Get-Process"

如果指令中有空格或需要引號,建議用單引號包起來,或者在 CMD 中使用雙引號並小心處理。例如查看當前時間:

DOS

powershell -Command "Get-Date"

執行腳本檔案

如果你已經寫好了一個 .ps1 檔案,可以用 -File 參數來啟動它。

DOS

powershell -ExecutionPolicy Bypass -File "C:\Scripts\MyScript.ps1"

這裡加上 -ExecutionPolicy Bypass 是為了避免 Windows 預設的安全性限制導致腳本無法跑起來。


進入互動模式

如果你想直接把當前的 CMD 視窗變成 PowerShell 環境,直接輸入指令:

DOS

powershell

你會發現左邊的提示字元多了 PS 字樣,這代表你已經切換成功。想回 CMD 時,輸入 exit 即可。


注意事項

  • 指令長度:CMD 對指令長度有限制,如果你的 PowerShell 代碼太長,建議寫成檔案。
  • 管理員權限:如果你的指令涉及系統修改,記得要以管理員身分開啟 CMD。
  • 特殊符號:在 CMD 傳遞參數給 PowerShell 時,有些特殊符號(如 & 或 |)可能會被 CMD 先誤判,必要時要用引號完整包覆。

在 CMD 裡面要用一條字串執行多行 PowerShell 指令,最簡單的方法是使用分號將指令隔開。PowerShell 會把分號視為換行符號,依序執行每個動作。

使用分號連接指令

你可以把切換目錄和執行檔案寫在一起。在 PowerShell 語法中,切換目錄是 cd 或 Set-Location,執行批次檔或程式則建議加上路徑符號。

DOS

powershell -Command "cd 'C:\target\path'; .\your-script.bat"

如果路徑中有空格,記得用單引號把路徑包起來,避免 CMD 解析錯誤。


確保路徑正確執行

有時候直接寫檔名可能跑不動,建議在檔案名稱前面加上 .\ 代表目前目錄。如果你要執行的不是批次檔而是另一個 PowerShell 腳本,做法也一樣。

DOS

powershell -Command "cd 'D:\Work Space'; .\build.bat"

如果你希望執行完畢後不要立刻關閉視窗,可以改用 -NoExit 參數,這樣你就能看到執行結果。

DOS

powershell -NoExit -Command "cd 'C:\temp'; .\test.bat"

另一種邏輯連接符號

除了分號之外,你也可以使用 && 符號。這代表前面的指令成功執行後,才會跑後面的指令。這在確保「一定要進入資料夾才能執行」的情況下很實用。

DOS

powershell -Command "cd 'C:\target' -and .\start.bat"

不過在大多數簡單場景下,用分號(;)是最直覺且不容易出錯的做法。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *