一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - PowerShell - Windows Powershell 定義函數(shù)

Windows Powershell 定義函數(shù)

2020-06-28 10:31PowerShell教程網(wǎng) PowerShell

這篇文章主要介紹了Windows Powershell 定義函數(shù),需要的朋友可以參考下

函數(shù)是自定義的Powershell代碼,有三個原則:
簡短:函數(shù)名簡短,并且顯而易見。
聚合:函數(shù)可以完成多個操作。
封裝和擴展:將一批Powershell語句進行封裝,實現(xiàn)全新的功能需求。

函數(shù)的結(jié)構由三部分組成:函數(shù)名,參數(shù),函數(shù)體

 

復制代碼 代碼如下:

Function FuncName (args[])
{
      code;
}

 

使用函數(shù)作為別名

假如Powershell不支持”cd..” 命令,你可以通過定義函數(shù)實現(xiàn)這個功能:

 

復制代碼 代碼如下:

PS C:Powershell> Function cd.. { cd ..}
PS C:Powershell> cd..
PS C:>

 

假如Powershell不支持Ping命令,也可以如法炮制:

 

復制代碼 代碼如下:

PS C:PowerShell> Function Ping2 { PING.EXE  -n 1 $args }
PS C:PowerShell> Ping2 www.mossfly.com

 

正在 Ping mossfly.com [116.255.205.70] 具有 32 字節(jié)的數(shù)據(jù):
請求超時。

116.255.205.70 的 Ping 統(tǒng)計信息:
    數(shù)據(jù)包: 已發(fā)送 = 1,已接收 = 0,丟失 = 1 (100% 丟失),

 

控制臺上多行輸入定義函數(shù)

 

復制代碼 代碼如下:

PS C:PowerShell> Function MyPing
>> {
>> PING.EXE  -n 1 $args
>> }
>>
PS C:PowerShell>

 

把函數(shù)精簡成一行

你 可以將一個函數(shù)定義在一行上,但是這樣閱讀和理解起來就不方便,可以在每條命令后加分號進行分割。

 

復制代碼 代碼如下:

PS C:PowerShelltest> Function cd...{ cd.. ; cd.. }
PS C:PowerShelltest> cd...
PS C:>

 

使用文本編輯器

函數(shù)可以在文本編輯器上編寫,寫完以后復制進Powershell控制臺即可。如果控制臺設置為快速編輯模式,從記事本復制后,直接在控制臺鼠標右鍵即可完成黏貼。

更新函數(shù)

如果要更新已經(jīng)定義好的函數(shù),簡單的方法是重新定義,這樣新的定義會覆蓋舊的定義。但是如果函數(shù)代碼沒有保存副本,可以先將函數(shù)定義導出到ps文件,然后就可以編輯了。

 

復制代碼 代碼如下:

PS C:PowerShell> $function:MyPing | Out-File myPing.ps1
PS C:PowerShell> $function:MyPing

 

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 $$

 

刪除函數(shù)

控制臺定義的函數(shù)只會在當前會話生效,一旦控制臺退出,會自動消失。在不關閉控制臺的條件下刪除一個已經(jīng)定義好的函數(shù),可是使用虛擬驅(qū)動器的方法:

 

復制代碼 代碼如下:

PS C:PowerShell> del Function:myPing
PS C:PowerShell> myPing
無法將“myPing”項識別為 cmdlet、函數(shù)、腳本文件或可運行程序的名稱。請檢查名稱的
拼寫,如果包括路徑,請確保路徑正確,然后重試。
所在位置 行:1 字符: 7
+ myPing <<<<
    + CategoryInfo          : ObjectNotFound: (myPing:String) [], CommandNotFo
   undException
    + FullyQualifiedErrorId : CommandNotFoundException

 

Suggestion [3,General]: 未找到命令 myPing,但它確實存在于當前位置。Windows Pow
Shell 默認情況下不從當前位置加載命令。如果信任此命令,請改為鍵入 ".myPing"。有
關更多詳細信息,請參閱 "get-help about_Command_Precedence"。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美日韩另类在线一 | 婷婷色在线观看 | 色图18p | 四虎b7s22c0m| 精品国产无限资源免费观看 | 四虎论坛| 国产一区二区三区久久精品小说 | 人性本色 | 久久偷拍免费2017 | 青春学堂在线观看 | 91香蕉国产在线观看免费永久 | 美女视频ww8888网网 | 亚洲人成在线播放 | 明星ai智能人脸替换造梦在线播放 | 日韩一级片在线播放 | 亚洲人影院| 久久天天综合 | 欧美精品99| 国产成人精品777 | 欧美日韩中文字幕久久伊人 | 小SAO货叫大声点妓女 | 国产欧美日韩精品一区二 | 九九精品视频一区二区三区 | 欧美va在线观看 | 国产精品1页 | 国产成人盗摄精品 | 国产精品久久久久久久久免费 | 精品国产三级av在线 | bt天堂在线最新版www | 国内精品哆啪啪 | 97porm自拍视频区原创 | 日日干天天爽 | 日本特黄一级午夜剧场毛片 | 色哟哟国产成人精品 | 丝瓜草莓香蕉绿巨人幸福宝 | 99人中文字幕亚洲区 | 国产成人精品一区二区 | 天色综合| 99精品在线视频 | 免费在线观看亚洲 | 国产欧美日韩在线观看精品 |