国产探花免费观看_亚洲丰满少妇自慰呻吟_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()
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣化县| 南宫市| 商河县| 龙游县| 英德市| 兴和县| 永胜县| 许昌县| 星座| 扎赉特旗| 江北区| 绥宁县| 广东省| 卫辉市| 西峡县| 大田县| 麻阳| 平远县| 扬州市| 绥滨县| 武冈市| 涿州市| 清丰县| 防城港市| 湖南省| 股票| 墨脱县| 香河县| 东乡| 漠河县| 南华县| 鄱阳县| 平顶山市| 丹江口市| 沂源县| 花莲县| 神农架林区| 瓦房店市| 名山县| 西盟| 达州市|