標籤:powershell
上一節主要介紹了Powershell中常見的別名,以及怎麼通過別名查看真實的Powershell命令,Powershell別名的命名規範以及如何建立自己的別名(Powershell內建別名不可更改)以及Powershell中相容性別名,詳細內容點擊這裡。
在本節主要包含以下內容。
Powershell命令自動補全功能。
在Powershell中使用cmd命令。
總結
Powershell中命令自動補全功能
Powershell命令自動補全的功能也稱為Tab擴充,自動補全的功能可以大大提高命令輸入的速度和準確度,在Powershell中通過Tab鍵來使用自動補全的功能。
PS C:\> cd D:\MyPowerShellPS D:\MyPowerShell> M<Tab>
按下Tab鍵時,Powershell會自動將該名稱擴充為其找到的第一個匹配項。重複按 Tab 鍵將逐一顯示所有可用選項。上面一條命令執行的結果如下
PS C:\> cd D:\MyPowerShellPS D:\MyPowerShell> .\Mandatory.ps1
如果想顯示之前的選項,可以按Shift+Tab鍵來切換之前的選項。
cmdlet 命令的Tab 擴充略有不同。如果要對 cmdlet 名稱使用 Tab 擴充,請輸入命令名稱的第一部分(動詞)及其後面的連字號。可以填入名稱的更多部分以進行更準確的匹配。例如,如果輸入 get-co 然後按 Tab 鍵,PowerShell 會將其自動擴充為 Get-Command cmdlet(其字母大小寫也將更改為標準形式,雖然Powershell命令不區分命令的大小寫)。繼續按 Tab 鍵,PowerShell 將使用僅有的另一個匹配 cmdlet 名稱 Get-Content 替換上一名稱,按Shift+Tab可以切換到上一條命令,即Get-Command。
可以在同一行上重複使用 Tab 擴充和Shift+Tab擴充。例如,可以通過輸入以下命令來對 Get-Content cmdlet 的名稱使用 Tab 擴充:
PS> Get-Con<Tab>
按 Tab 鍵時,該命令將擴充為:
PS> Get-Content
繼續按 Tab 鍵時,該命令將擴充為:
PS> Get-Commond
按Shift+Tab鍵,又可以切換到上一條命令。
PS> Get-Content
注意: Tab 擴充的局限之處在於 Tab 始終被解釋為嘗試完成單詞。如果根據命令無法匹配到任何一條合適的命令,Powershell不會出現預期的結果。
在Powershell中使用cmd命令
所有的Windows 命令都可以在Powershell中執行,而且可以在 Powershell 命令提示字元下啟動具有圖形化使用者介面的 Windows 程式(如記事本,計算機,畫圖等)。還可以捕獲 Windows 程式產生的文本(Windows命令執行的結果),並在 PowerShell 中使用進一步使用該常值內容。
舉個例子,在Powershell中使用IPConfig命令。
PS D:\MyPowerShell> ipconfigWindows IP ConfigurationEthernet adapter 本地串連: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.1.124 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.25.1
也可以使用 PowerShell cmdlet(如 Select-String)處理 Windows 程式返回的文本。
PS D:\MyPowerShell> ipconfig | Select-String -Pattern 255 Subnet Mask . . . . . . . . . . . : 255.255.255.0
上面命令使用管道運算子(|)將 IPConfig 命令的結果發送到 PowerShell的 Select-String cmdlet,Select-String會搜尋Window命令程式執行結果的字串中的文本。上面的命令是尋找包含255的內容。
當 Windows 命令或工具帶有參數時,如 Shutdown 的“-r”(重新啟動)參數,PowerShell 會將參數傳遞給該工具而不解釋它們。
需要注意的是,如果該工具使用 PowerShell 保留字或者使用 PowerShell 不熟悉的命令格式,如 Nant 的“-D:debug=false”參數(PowerShell 將此參數解釋為兩個參數:“-D”和“debug=false”),請用引號將參數括起來,以指示 PowerShell 應該將參數發送給該工具而不進行解釋。
總結
通過學習本節,應當掌握以下內容。
會使用Powershell的命令自動補全功能。
瞭解所有的Windows命令都可以在Powershell中執行。
本文出自 “花開花落” 部落格,謝絕轉載!
Powershell中命令自動補全功能及使用Windows命令