這次要說明在 Windows PowerShell 中,執行 Windows 程式的一些小細節。
我們可以在 Windows PowerShell 中,執行 Windows 裡的命令列程式(例如:使用 attrib.exe 來變更檔案的屬性,使用 ver 顯示 Windows 作業系統的版本),也可以執行圖形化介面的程式,比方說:記事本。此外,如果所執行的程式會產生文字輸出,我們也可以取得其所產生的文字,並加以處理運用。
假設要在 Windows PowerShell 中,執行「記事本」,請確認記事本這個程式(也就是 notepad.exe)的目錄是否名列於 Path 環境變數裡。因為 Path 環境變數的值會告訴 Windows PowerShell 要去哪裡找到所要執行的程式。那我們要如何知道目前的 Path 環境變數呢?只要使用下面的指令即可得知:
$env:path
附註:
像下面執行的結果就是還沒有將 WordPad 加入 Path 環境變數所出現的錯誤訊息:
PS C:\Users\alexc> WordPad
無法辨識 'WordPad' 詞彙是否為 Cmdlet、函數、指令檔或可執行程式的名稱。請檢查名稱拼字是否正確,如果包含路徑的話,請確認
路徑是否正確,然後再試一次。
位於 行:1 字元:8
+ WordPad <<<<
+ CategoryInfo : ObjectNotFound: (WordPad:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:\Users\alexc>
那如果要既有的 Path 環境變數之後,再加入一個新的目錄,該怎麼辦呢?
以下面的指令來說,要將位於 C:\Program Files\Windows NT\Accessories 目錄中的「WordPad」加入到既有的 Path 環境變數之後,然後執行 WordPad:
# 設定 Path 環境變數
$env:path = $env:path + ";C:\Program Files\Windows NT\Accessories"
# 執行「WordPad」
WordPad
提醒大家,因為那個目錄的名稱有空格,所以整個路徑的前後要用**一對引號(")**把它包起來。
還有另外一種寫法:
$env:path += ";C:\Program Files\Windows NT\Accessories"