Powershell小技巧之使用Update-TypeData擴(kuò)展類型系統(tǒng)
更新時(shí)間:2014年09月20日 15:11:04 投稿:hebedich
昨天演示獲取時(shí)辰《PowerShell獲取當(dāng)前的時(shí)辰 》,并不只是為了獲取時(shí)辰,還為了使用Update-TypeData命令將時(shí)辰這一屬性,牢牢地幫到DateTime類型上。
腳本
Update-TypeData -TypeName 'System.DateTime' -MemberName '時(shí)辰' -MemberType 'ScriptProperty' -Value {
$timeAliasArray='子丑寅卯辰巳午未申酉戌亥'
$hour = $this.Hour
[int]$index=0
if($hour -eq 22){ $index=11 }
else{
$index=[math]::Floor( ( $hour+1 ) % 23 / 2 )
}
return $timeAliasArray[ $index ] + "時(shí)"
}
演示
上面的命令執(zhí)行后,DateTime就多了一個(gè)屬性,我們來(lái)驗(yàn)證下:
PS> (get-date).時(shí)辰 子時(shí) PS> $t=Get-Date -Hour 17 PS> $t.時(shí)辰 酉時(shí)
總結(jié)
Update-TypeData與Add-Member相比,前者擴(kuò)展的類型,后者擴(kuò)展的實(shí)例。
如何永久擴(kuò)展類型,可以放在Profile文件中,也可以直接修改ETS文件。
您可能感興趣的文章:
- Shell時(shí)間(date)相關(guān)命令
- linux shell實(shí)現(xiàn)隨機(jī)數(shù)幾種方法分享(date,random,uuid)
- PowerShell中使用正則和ValidateSet驗(yàn)證參數(shù)合法性
- PowerShell中iso8601格式日期和DateTime對(duì)象互轉(zhuǎn)實(shí)例
- Shell腳本實(shí)現(xiàn)隨機(jī)數(shù)多種方法介紹(date、random、uuid)
- PowerShell中使用Get-Date獲取日期時(shí)間并格式化輸出的例子
- PowerShell中Get-Date對(duì)象的常用屬性和方法介紹
- shell語(yǔ)言date的用法實(shí)例
相關(guān)文章
Powershell中可以使用的.Net實(shí)用靜態(tài)方法
這篇文章主要介紹了Powershell中可以使用的.Net實(shí)用靜態(tài)方法,本文直接給出使用示例,并羅列了常用的靜態(tài)方法,需要的朋友可以參考下2015-03-03
PowerShell ISE自動(dòng)化簡(jiǎn)單示例
這篇文章主要介紹了PowerShell ISE自動(dòng)化簡(jiǎn)單示例,本文給出了2個(gè)PowerShell ISE自動(dòng)化例子,需要的朋友可以參考下2015-03-03
PowerShell實(shí)現(xiàn)在字符串中查找大寫字母
這篇文章主要介紹了PowerShell實(shí)現(xiàn)在字符串中查找大寫字母,本文講解使用.NET中的IsUpper()函數(shù)來(lái)實(shí)現(xiàn)查找大寫字母的需求,需要的朋友可以參考下2015-06-06
PowerShell實(shí)現(xiàn)測(cè)試端口可用性腳本分享
這篇文章主要介紹了PowerShell實(shí)現(xiàn)測(cè)試端口可用性腳本分享,本文腳本相對(duì)簡(jiǎn)單,使用TCP套接字實(shí)現(xiàn)需求,需要的朋友可以參考下2014-11-11

