iT邦幫忙

DAY 8
2

強而有力的 Windows PowerShell系列 第 8

Windows PowerShell 基本操作 - 執行 Windows 的程式

這次要說明在 Windows PowerShell 中,執行 Windows 程式的一些小細節。
我們可以在 Windows PowerShell 中,執行 Windows 裡的命令列程式(例如:使用 attrib.exe 來變更檔案的屬性,使用 ver 顯示 Windows 作業系統的版本),也可以執行圖形化介面的程式,比方說:記事本。此外,如果所執行的程式會產生文字輸出,我們也可以取得其所產生的文字,並加以處理運用。

假設要在 Windows PowerShell 中,執行「記事本」,請確認記事本這個程式(也就是 notepad.exe)的目錄是否名列於 Path 環境變數裡。因為 Path 環境變數的值會告訴 Windows PowerShell 要去哪裡找到所要執行的程式。那我們要如何知道目前的 Path 環境變數呢?只要使用下面的指令即可得知:

$env:path

附註:

  1. 在 Windows PowerShell 中,以貨幣符號($)開頭的代表這是個變數。
  2. 除非所要執行的程式就位於目前的目錄中,才不需要去確認 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"

上一篇
Windows PowerShell 基本操作 - 將執行的結果格式化
下一篇
Windows PowerShell 基本操作 - 2 種「錯誤」的基本概念
系列文
強而有力的 Windows PowerShell33

尚未有邦友留言

立即登入留言