Powershell中Finally語句用法示例
在之前的小技巧中,我們?cè)?jīng)引入過,一個(gè)有聲的進(jìn)度條。在PowerShell正在做某項(xiàng)忙碌的任務(wù)時(shí),可以一直讓它播放某段音樂。代碼如下:
# 在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()
腳本本來運(yùn)行正常,但是當(dāng)你終止了它,比如使用ctrl+C來終止,此時(shí)腳本運(yùn)行立馬結(jié)束。最后一行的$player.Stop()來不及執(zhí)行,提示聲音仍舊在余音繞梁,三日不絕。
解決辦法,將最后一句收尾工作的$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()
}
相關(guān)文章
PowerShell中查看當(dāng)前版本、Windows版本、.NET版本信息的代碼
這篇文章主要介紹了PowerShell中查看當(dāng)前版本、Windows版本、.NET版本信息的代碼,需要的朋友可以參考下2014-08-08PowerShell腳本實(shí)現(xiàn)添加、修改任務(wù)計(jì)劃的例子
這篇文章主要介紹了PowerShell腳本實(shí)現(xiàn)添加、修改任務(wù)計(jì)劃的例子,PowerShell操作、設(shè)置任務(wù)計(jì)劃實(shí)例,需要的朋友可以參考下2014-08-08PowerShell腳本反引號(hào)用法實(shí)例:隨時(shí)隨地給代碼換行
這篇文章主要介紹了PowerShell腳本反引號(hào)用法實(shí)例:隨時(shí)隨地給代碼換行,在遇到一些超長代碼行時(shí)非常有用,一般編程代碼一行的字符數(shù)不超過80個(gè)哦,需要的朋友可以參考下2015-06-06PowerShell實(shí)現(xiàn)查詢打開某個(gè)文件的默認(rèn)應(yīng)用程序
這篇文章主要介紹了PowerShell實(shí)現(xiàn)查詢打開某個(gè)文件的默認(rèn)應(yīng)用程序,本文通過C#調(diào)用Windows API來實(shí)現(xiàn)這個(gè)需求,需要的朋友可以參考下2015-06-06PowerShell函數(shù)中把參數(shù)傳入另一個(gè)函數(shù)的函數(shù)傳參例子
這篇文章主要介紹了PowerShell函數(shù)中把參數(shù)傳入另一個(gè)函數(shù)例子也是使用的PSBoundParameters,但是有區(qū)別哦,,需要的朋友可以參考下2014-07-07PowerShell正則表達(dá)式(Regex)從右往左進(jìn)行匹配方法代碼實(shí)例
這篇文章主要介紹了PowerShell正則表達(dá)式(Regex)從右往左進(jìn)行匹配方法代碼實(shí)例,最重要的就是一個(gè)RightToLeft參數(shù)的運(yùn)用,本文直接給出代碼實(shí)例,需要的朋友可以參考下2015-05-05PowerShell快速創(chuàng)建一個(gè)指定大小文件的實(shí)例分享
這篇文章主要介紹了PowerShell快速創(chuàng)建一個(gè)指定大小文件的實(shí)例分享,需要的朋友可以參考下2014-04-04