主頁(yè) > 知識(shí)庫(kù) > Windows Powershell 定義函數(shù)

Windows Powershell 定義函數(shù)

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 呼叫中心市場(chǎng)需求 百度競(jìng)價(jià)排名 地方門戶網(wǎng)站 鐵路電話系統(tǒng) AI電銷 Linux服務(wù)器 服務(wù)外包

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

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

復(fù)制代碼 代碼如下:

Function FuncName (args[])
{
      code;
}

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

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

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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ù):
請(qǐng)求超時(shí)。

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

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

復(fù)制代碼 代碼如下:

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

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

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

復(fù)制代碼 代碼如下:

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

使用文本編輯器

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

更新函數(shù)

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

復(fù)制代碼 代碼如下:

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ù)

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

復(fù)制代碼 代碼如下:

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

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

標(biāo)簽:蘭州 衡水 銅川 仙桃 崇左 黃山 湖南 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Windows Powershell 定義函數(shù)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266