亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長(zhǎng)網(wǎng)

探索PowerShell(十) 循環(huán)語(yǔ)句介紹

2022-12-8 15:54| 查看: 2822 |來(lái)源: 互聯(lián)網(wǎng)

PowerShell作為可編程性語(yǔ)言,擁有以下循環(huán)語(yǔ)句。 注:本節(jié)所要討論的內(nèi)容的實(shí)質(zhì)更多的偏向于程序設(shè)計(jì)方面,所以在此不做過(guò)多詳細(xì)講解,只針對(duì)PowerShell中的應(yīng)用進(jìn)行具體講解。 • for (初值;表達(dá)式;賦值語(yǔ)句)
PowerShell作為可編程性語(yǔ)言,擁有以下循環(huán)語(yǔ)句。

注:本節(jié)所要討論的內(nèi)容的實(shí)質(zhì)更多的偏向于程序設(shè)計(jì)方面,所以在此不做過(guò)多詳細(xì)講解,只針對(duì)PowerShell中的應(yīng)用進(jìn)行具體講解。

• for (初值;表達(dá)式;賦值語(yǔ)句) {代碼} 用變量值控制執(zhí)行次數(shù)
• foreach (成員變量 in 數(shù)組) {代碼} 利用迭代執(zhí)行代碼
• foreach-object 對(duì)一組輸入的每個(gè)對(duì)象執(zhí)行運(yùn)算
• while(表達(dá)式) {代碼} 表達(dá)式為真時(shí)循環(huán)執(zhí)行代碼
• do {代碼} while(表達(dá)式) 類似于while,只是先執(zhí)行代碼,再判斷表達(dá)式真假
• do {代碼} until(表達(dá)式) 執(zhí)行代碼,直至表達(dá)式為假

循環(huán)語(yǔ)句在PowerShell中的應(yīng)用

利用foreach查詢硬件信息

例一:

$DiskDrive=get-wmiobject -class Win32_DiskDrive -namespace root\CIMV2
foreach ($item in $DiskDrive)
{
write-host "Description:" $item.Description
write-host "Device ID:" $item.DeviceID
write-host "Interface Type:" $item.InterfaceType
write-host "Media Type:" $item.MediaType
write-host "Model:" $item.Model
write-host "Partitions:" $item.Partitions
write-host "Size:" $item.Size
write-host "Status:" $item.Status
}


例二:


$Processor=get-wmiobject -class Win32_Processor -namespace root\CIMV2

foreach ($item in $Processor)
{
write-host "Caption:" $item.Caption
write-host "CPU Status:" $item.CpuStatus
write-host "Current Clock Speed:" $item.CurrentClockSpeed
write-host "Device ID:" $item.DeviceID
write-host "L2 Cache Size:" $item.L2CacheSize
write-host "L2 Cache Speed:" $item.L2CacheSpeed
write-host "Name:" $item.Name
}

運(yùn)行結(jié)果:


使用while監(jiān)視進(jìn)程狀態(tài)

notepad
While(get-process -name notepad | select -Property Responding){}
$time = get-date
Write-Host "The Notepad failed to respond on:$time"

在此例下,若進(jìn)程notepad出現(xiàn)未響應(yīng),則會(huì)產(chǎn)生屏幕輸出。

使用do while表達(dá):

notepad
do{}
While(get-process -name notepad | select -Property Responding)
$time = get-date
Write-Host "The Notepad failed to respond on:$time"

利用do until進(jìn)行交互

do
{
"Quit Now? (Y/N)"
$input=Read-Host
}
until($input -eq "Y")

運(yùn)行結(jié)果:


使用foreach-object進(jìn)行格式化輸出

對(duì)下列數(shù)據(jù)進(jìn)行操作,

D00454798106276487326471李德建829.51
Q00136284503715856294375張春生712.65
H00374967692981018226574劉錫明891.31
R00759861215965098103878趙子龍898.21
J00741245626115645970139楊高遠(yuǎn)-13.21
K00142545764587219409172周明647.41
P00103851828756182786938張龍-27.51

使之輸出為以下所示格式:

1|454798106276487326471|李德建|829.51
2|136284503715856294375|張春生|712.65
3|374967692981018226574|劉錫明|891.31
4|759861215965098103878|趙子龍|898.21
5|741245626115645970139|楊高遠(yuǎn)|0.00
6|142545764587219409172|周明|647.41
7|103851828756182786938|張龍|0.00
小計(jì) |3979.09

使用foreach-object對(duì)每個(gè)數(shù)據(jù)成員使用正則表達(dá)式,最后格式化輸出即可:


${C:\test.txt} | `
foreach-object{$total=0;$id=1}`
{
[void]($_ -match '^.{3}(?<id>\d+)(?<name>[\p{IsCJKUnifiedIdeographs}]+)(?<salary>[\d.]*)');
$ofs = '|';
"$($id;$id++;$matches.id;$matches.name;'{0:f2}' -f [float]$matches.salary)";
$total += $matches.salary
}`
{"`t小計(jì)`t`t|$total"}

運(yùn)行結(jié)果:



歡迎提出意見(jiàn)建議!
本文最后更新于 2022-12-8 15:54,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請(qǐng)?jiān)诰W(wǎng)站留言或聯(lián)系站長(zhǎng):17tui@17tui.com
·END·
站長(zhǎng)網(wǎng)微信號(hào):w17tui,關(guān)注站長(zhǎng)、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營(yíng)銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!

17站長(zhǎng)網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信

大家都在看

    熱門(mén)排行

      最近更新

        返回頂部