函數是自定義的Powershell代碼,有三個原則:
簡短:函數名簡短,并且顯而易見。
聚合:函數可以完成多個操作。
封裝和擴展:將一批Powershell語句進行封裝,實現全新的功能需求。
函數的結構由三部分組成:函數名,參數,函數體
使用函數作為別名
假如Powershell不支持”cd..” 命令,你可以通過定義函數實現這個功能:
假如Powershell不支持Ping命令,也可以如法炮制:
正在 Ping mossfly.com [116.255.205.70] 具有 32 字節的數據:
請求超時。
116.255.205.70 的 Ping 統計信息:
數據包: 已發送 = 1,已接收 = 0,丟失 = 1 (100% 丟失),
控制臺上多行輸入定義函數
把函數精簡成一行
你 可以將一個函數定義在一行上,但是這樣閱讀和理解起來就不方便,可以在每條命令后加分號進行分割。
使用文本編輯器
函數可以在文本編輯器上編寫,寫完以后復制進Powershell控制臺即可。如果控制臺設置為快速編輯模式,從記事本復制后,直接在控制臺鼠標右鍵即可完成黏貼。
更新函數
如果要更新已經定義好的函數,簡單的方法是重新定義,這樣新的定義會覆蓋舊的定義。但是如果函數代碼沒有保存副本,可以先將函數定義導出到ps文件,然后就可以編輯了。
PING.EXE -n 1 $args
PS C:PowerShell> $function:MyPing | Out-File myPing.ps1
PS C:PowerShell> .myPing.ps1
必須指定 IP 地址。
PS C:PowerShell> notepad.exe $$
刪除函數
控制臺定義的函數只會在當前會話生效,一旦控制臺退出,會自動消失。在不關閉控制臺的條件下刪除一個已經定義好的函數,可是使用虛擬驅動器的方法:
Suggestion [3,General]: 未找到命令 myPing,但它確實存在于當前位置。Windows Pow
Shell 默認情況下不從當前位置加載命令。如果信任此命令,請改為鍵入 ".myPing"。有
關更多詳細信息,請參閱 "get-help about_Command_Precedence"。
|
新聞熱點
疑難解答
圖片精選