Powershell已經(jīng)成了windows運(yùn)維人員不得不掌握的技能了,他的強(qiáng)大只有使用過了才能體會(huì),閑話不多說,在這里記錄一下Powershell的實(shí)用命令,幫助在Powershell中一起奮斗的童鞋們
將輸出的結(jié)果轉(zhuǎn)變成自己想要的對(duì)象類型,例如,我有一個(gè)小數(shù),但是我只想要他的整數(shù)位,這里我們可以用-as操作符,在as后面接你想轉(zhuǎn)換的類型可以是[int],[string]等
1.23 -as [int]
這條命令就是將1.23這個(gè)小數(shù)轉(zhuǎn)換成整型值,所以最后我們得到的結(jié)果就是1,這個(gè)功能經(jīng)常用于一些磁盤空間的或者數(shù)據(jù)方面的轉(zhuǎn)換,需要注意的是,這個(gè)轉(zhuǎn)換時(shí)使用的四舍五入的機(jī)制,就是說,如果小數(shù)值是大于等于0.5的會(huì)在整數(shù)位加1
當(dāng)然我們不用as操作符,更簡(jiǎn)單的方式就是直接在值或變量前面加類型例如[int]1.23,這樣輸出的值也是一
取整這個(gè)還有幾種方法,這里也介紹一下,有時(shí)候我們可能需要把小數(shù)位直接算成整數(shù),或者小數(shù)位直接舍去,那么遇到這種情況我們可以通過[math]::Floor()和[math]::Ceiling()來執(zhí)行,例如:
PS C:\Windows\system32> $a=2.33
PS C:\Windows\system32> [math]::Ceiling($a)
3
PS C:\Windows\system32> [math]::Floor($a)
2
通過上面的代碼,我們可以看到,ceiling函數(shù)是向上取整,就是小數(shù)位統(tǒng)統(tǒng)往整數(shù)上加1,floor函數(shù)是向下取整,小數(shù)位統(tǒng)統(tǒng)忽略,甭管你是不是大于0.5
和前面提到的[int]直接轉(zhuǎn)整數(shù)的,還有一種方式,就是[convert]::Toint32($a),也可以得到四舍五入的取整結(jié)果,當(dāng)然Toint32的功能不僅僅是簡(jiǎn)單的轉(zhuǎn)換小數(shù),他還可以用于轉(zhuǎn)換2進(jìn)制,10進(jìn)制,16進(jìn)制等等,例如
PS C:\Windows\system32> $a = [convert]::ToString(188,2)
PS C:\Windows\system32> [convert]::ToInt32($a)
10111100
PS C:\Windows\system32> [convert]::ToInt32($a,2)
188
PS C:\Windows\system32> [convert]::ToInt32($a,8)
2134592
PS C:\Windows\system32> [convert]::ToInt32($a,16)
269553920
PS C:\Windows\system32> [convert]::ToInt32($a,10)
10111100
首先我把188轉(zhuǎn)成2進(jìn)制形式賦值給a變量(聽清楚是形式,它實(shí)際上是一個(gè)字符串值,要確認(rèn)可以直接用$a.gettype()去看下他的類型),然后測(cè)試直接轉(zhuǎn)成整型,接著轉(zhuǎn)2進(jìn)制,8進(jìn)制,16進(jìn)制和10進(jìn)制,嗯,看起來沒毛病,對(duì)吧,老鐵。
好,我們接著下一個(gè)比較實(shí)用的命令,通過哈希表達(dá)式來轉(zhuǎn)換輸入的格式
我想平時(shí)寫腳本導(dǎo)出資料的時(shí)候,你應(yīng)該會(huì)遇到導(dǎo)出的結(jié)果的欄位名稱你覺得不滿意,想改成自己想要的名字,甭管為啥,就是想改,有句話怎么說來著,我就是喜歡你看我不慣又拿我沒轍的樣子,就是這么任性。
OK,小case,哈希表達(dá)式幫您忙,舉個(gè)簡(jiǎn)單的例子,我想把輸入的欄位英文改成我要的中文,看代碼:
PS C:\Windows\system32> Get-Process | select name -First 3
Name
----
AcroRd32
AcroRd32
ApplicationFrameHost
我們用get-process抓3條進(jìn)程名字,可以發(fā)現(xiàn)名字欄位是Name,作為一個(gè)愛國的五好青年,我得把這個(gè)Name改成中文,看我代碼大法
PS C:\Windows\system32> Get-Process | select @{name='名稱';expression={$_.Name}} -First 3
名稱
--
AcroRd32
AcroRd32
ApplicationFrameHost
看見沒,Name沒有了,我中華漢字取而代之,name和expression可以縮寫成n和e @{n='想要的名稱';e={可以是一個(gè)代碼輸出的值,也可以是值}}
延伸一下,我們知道平時(shí)我們使用ft或者fl這樣的輸出格式命令的時(shí)候是沒有指定輸出值的對(duì)齊功能的,Powershell會(huì)默認(rèn)去對(duì)齊,但是這樣會(huì)發(fā)現(xiàn)有的是左對(duì)齊,有的是右對(duì)齊,還能不能好好玩耍了,非要整2個(gè)對(duì)齊方式干嘛,我只需要一種對(duì)齊方式,我們可以通過哈希表達(dá)式來解決,只需要在表達(dá)式中加入align='left'或者'right',就可以讓數(shù)據(jù)左對(duì)齊,或者右對(duì)齊了,例如@{n='名稱';e={$_.name};align='left'}
今天就說到這了,要想了解更多,且聽下回分解,散會(huì)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前名稱:Powershell實(shí)用命令(1)-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://aaarwkj.com/article34/cdhise.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、ChatGPT、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容