国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

Powershell中Finally語句用法示例

2020-05-30 20:19:25
字體:
來源:轉載
供稿:網友

在之前的小技巧中,我們曾經引入過,一個有聲的進度條。在PowerShell正在做某項忙碌的任務時,可以一直讓它播放某段音樂。代碼如下:
代碼如下:
# 在windows 文件夾下面找到要給可用的wav音頻文件
$WAVPath = Get-ChildItem -Path $env:windir -Filter *.wav -Recurse -ErrorAction SilentlyContinue |
 Select-Object -First 1 -ExpandProperty FullName
 
 
# 加載并播放
 
$player = New-Object Media.SoundPlayer $WAVPath
$player.PlayLooping()
  
1..100 | ForEach-Object {
 Write-Progress -Activity 'Doing Something. Hang in' -Status $_ -PercentComplete $_
 Start-Sleep -MilliSeconds (Get-Random -Minimum 300 -Maximum 1300)
 }
$player.Stop()

腳本本來運行正常,但是當你終止了它,比如使用ctrl+C來終止,此時腳本運行立馬結束。最后一行的$player.Stop()來不及執行,提示聲音仍舊在余音繞梁,三日不絕。

解決辦法,將最后一句收尾工作的$player.Stop()放在Finally語句中:
代碼如下:
 # 在Windows文件夾找到Wav音頻問
$WAVPath = Get-ChildItem -Path $env:windir -Filter *.wav -Recurse -ErrorActionSilentlyContinue |
Select-Object -First 1 -ExpandProperty FullName
 
# 加載并播放
 
$player = New-Object Media.SoundPlayer $WAVPath
 
try
{
 
  $player.PlayLooping()
   
  1..100 | ForEach-Object {
    Write-Progress -Activity 'Doing Something' -Status $_ -PercentComplete $_
    Start-Sleep -MilliSeconds (Get-Random -Minimum 300 -Maximum 1300)
  }
}
 
finally
{
  $player.Stop()
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿拉尔市| 霍林郭勒市| 万宁市| 龙南县| 商水县| 青神县| 谷城县| 象山县| 大城县| 宜都市| 西城区| 五华县| 山丹县| 安仁县| 栖霞市| 镇平县| 枞阳县| 靖江市| 手游| 永兴县| 扶风县| 叙永县| 庆安县| 华蓥市| 肇东市| 五家渠市| 桓台县| 九寨沟县| 永泰县| 东港市| 汤原县| 教育| 吉木萨尔县| 泰顺县| 洛川县| 独山县| 神农架林区| 余庆县| 中卫市| 台北县| 广灵县|