国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PowerShell > 正文

Windows Powershell 定義函數(shù)

2020-10-29 21:00:32
字體:
供稿:網(wǎng)友

函數(shù)是自定義的Powershell代碼,有三個(gè)原則:
簡短:函數(shù)名簡短,并且顯而易見。
聚合:函數(shù)可以完成多個(gè)操作。
封裝和擴(kuò)展:將一批Powershell語句進(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ù)精簡成一行

你 可以將一個(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ù),簡單的方法是重新定義,這樣新的定義會(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"。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南雄市| 四川省| 连州市| 三台县| 汪清县| 扎赉特旗| 新绛县| 安吉县| 山东省| 阳原县| 沙雅县| 六枝特区| 榆林市| 舞钢市| 沙田区| 顺昌县| 沧州市| 正蓝旗| 桐柏县| 元谋县| 家居| 秦皇岛市| 成武县| 洛阳市| 德化县| 沁源县| 广南县| 墨竹工卡县| 西平县| 呼和浩特市| 灵丘县| 郯城县| 星子县| 津南区| 韶山市| 长白| 朝阳市| 密山市| 昭平县| 岑溪市| 邛崃市|