麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

探索PowerShell(十) 循環語句介紹

2020-10-29 21:10:03
字體:
來源:轉載
供稿:網友
PowerShell作為可編程性語言,擁有以下循環語句。

注:本節所要討論的內容的實質更多的偏向于程序設計方面,所以在此不做過多詳細講解,只針對PowerShell中的應用進行具體講解。

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

循環語句在PowerShell中的應用

利用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
}

運行結果:


使用while監視進程狀態
復制代碼 代碼如下:

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

在此例下,若進程notepad出現未響應,則會產生屏幕輸出。

使用do while表達:
復制代碼 代碼如下:

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

利用do until進行交互
復制代碼 代碼如下:

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

運行結果:


使用foreach-object進行格式化輸出

對下列數據進行操作,

D00454798106276487326471李德建829.51
Q00136284503715856294375張春生712.65
H00374967692981018226574劉錫明891.31
R00759861215965098103878趙子龍898.21
J00741245626115645970139楊高遠-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|楊高遠|0.00
6|142545764587219409172|周明|647.41
7|103851828756182786938|張龍|0.00
小計 |3979.09

使用foreach-object對每個數據成員使用正則表達式,最后格式化輸出即可:

復制代碼 代碼如下:

${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小計`t`t|$total"}

運行結果:



歡迎提出意見建議!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色午夜剧场 | 成人免费毛片一 | 欧美成人精品一级 | 欧美一级网 | 久久久久久久久久久久久久av | 久久亚洲春色中文字幕久久 | 91网站链接 | 国产69精品久久99不卡免费版 | 主人在调教室性调教女仆游戏 | 精国产品一区二区三区四季综 | 99日韩精品视频 | 国产九九在线视频 | 中文字幕在线播放视频 | 毛片视频网址 | 久久国产成人午夜av浪潮 | 亚洲成年人免费网站 | 欧美一级高潮 | 欧美性久久久 | 一级黄色毛片子 | 欧美视频一二区 | 欧洲成人综合网 | 久久久婷婷一区二区三区不卡 | 视频二区国产 | 91麻豆精品国产91久久久更新资源速度超快 | 国产三级在线观看a | 黄色免费电影网址 | 久久久国产一级片 | 斗破苍穹在线观看免费完整观看 | 99视频在线观看视频 | 成人免费毛片在线观看 | 久久国产成人精品国产成人亚洲 | 曰韩一二三区 | 日本在线高清 | 高清国产福利 | 国产精品久久久久久久久久iiiii | 久久久青青草 | 视频久久免费 | 一区二区三区在线视频观看58 | 日韩黄色免费电影 | 久久亚洲成人 | 久久久久久久久久久国产精品 |