佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 探索PowerShell(十) 循環(huán)語句介紹

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

熱門標簽:AI電銷 鐵路電話系統(tǒng) 呼叫中心市場需求 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 服務(wù)外包 百度競價排名
PowerShell作為可編程性語言,擁有以下循環(huán)語句。

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

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

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

利用foreach查詢硬件信息

例一:
復(fù)制代碼 代碼如下:

$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
}


例二:

復(fù)制代碼 代碼如下:

$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
}

運行結(jié)果:


使用while監(jiān)視進程狀態(tài)
復(fù)制代碼 代碼如下:

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

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

使用do while表達:
復(fù)制代碼 代碼如下:

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

利用do until進行交互
復(fù)制代碼 代碼如下:

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

運行結(jié)果:


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

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

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對每個數(shù)據(jù)成員使用正則表達式,最后格式化輸出即可:

復(fù)制代碼 代碼如下:

${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"}

運行結(jié)果:



歡迎提出意見建議!
您可能感興趣的文章:
  • shell腳本中case條件控制語句的一個bug分析
  • shell腳本編程之循環(huán)語句
  • shell腳本編程之循環(huán)語句學(xué)習(xí)筆記
  • Shell腳本while、until循環(huán)語句簡明教程
  • Shell腳本for循環(huán)語句簡明教程
  • shell中的循環(huán)語句、判斷語句實例
  • Shell中的循環(huán)語句for、while、until實例講解
  • shell基礎(chǔ)學(xué)習(xí)中的字符串操作、for循環(huán)語句示例
  • Shell腳本的條件控制和循環(huán)語句

標簽:衡水 仙桃 湖南 崇左 湘潭 蘭州 銅川 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標題《探索PowerShell(十) 循環(huán)語句介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    东海县| 旬邑县| 登封市| 托里县| 银川市| 宜兰县| 沅江市| 芜湖市| 策勒县| 儋州市| 烟台市| 静乐县| 定安县| 二连浩特市| 德州市| 肃南| 新乡县| 读书| 汾阳市| 当阳市| 城步| 灌南县| 南澳县| 日喀则市| 汾阳市| 洛宁县| 夹江县| 奉节县| 普宁市| 屏南县| 东阿县| 荆门市| 高安市| 淮南市| 共和县| 三台县| 北辰区| 五华县| 朝阳区| 东乌珠穆沁旗| 洛浦县|