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

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

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

服務器之家 - 腳本之家 - PowerShell - Windows Powershell 定義函數

Windows Powershell 定義函數

2020-06-28 10:31PowerShell教程網 PowerShell

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

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

函數的結構由三部分組成:函數名,參數,函數體

 

復制代碼 代碼如下:

Function FuncName (args[])
{
      code;
}

 

使用函數作為別名

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

 

復制代碼 代碼如下:

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 字節的數據:
請求超時。

116.255.205.70 的 Ping 統計信息:
    數據包: 已發送 = 1,已接收 = 0,丟失 = 1 (100% 丟失),

 

控制臺上多行輸入定義函數

 

復制代碼 代碼如下:

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

 

把函數精簡成一行

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

 

復制代碼 代碼如下:

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

 

使用文本編輯器

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

更新函數

如果要更新已經定義好的函數,簡單的方法是重新定義,這樣新的定義會覆蓋舊的定義。但是如果函數代碼沒有保存副本,可以先將函數定義導出到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 $$

 

刪除函數

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

 

復制代碼 代碼如下:

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

 

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产高清在线播放刘婷91 | 日韩欧美天堂 | 欧美摘花破处 | 3d动漫美女物被遭强视频 | 久久热在线视频精品1 | 色吊丝每日永久访问网站 | 午夜福到在线4国产 | 美女露尿口 | 国产精品久久久久久影视 | 我要看黄色毛片 | 久久爽狠狠添AV激情五月 | 女攻双性| 青青99| 波多野结衣女老师 | 国产精品久久久久久久午夜片 | 亚洲嫩模吧粉嫩粉嫩冒白浆 | 青草热久精品视频在线观看 | 日韩免费一级片 | 人人九九精 | 成人影院免费在线观看 | 免费观看国产大片资源视频 | 成人小视频在线观看免费 | 久久综合给合久久狠狠狠… | 精品成人一区二区 | 亚洲色域网 | 亚州第一页 | 国产偷窥| 女上男下gifxxoo动态视频 | 精品国产美女AV久久久久 | 国产99页 | 人人人人人看碰人人免费 | 国产乱码免费卡1卡二卡3卡四 | 欧美在线欧美 | 国产一级真人毛爱做毛片 | 四虎免费入口 | 思思91精品国产综合在线 | 精品午夜中文字幕熟女人妻在线 | 亚洲精品午夜视频 | 国产午夜小视频 | 国产麻豆91欧美一区二区 | 91亚洲精品国产自在现线 |