Как заставить Windows Powershell воспроизводить звук после завершения работы .bat? - PullRequest
0 голосов
/ 08 мая 2019

Как гласит заголовок, у меня есть работа .bat, запущенная в powershell, и после ее завершения я хочу отключить звуковое оповещение. Мне было интересно, есть ли команда powershell, которую я могу добавить к моей существующей команде powershell.

Ответы [ 2 ]

2 голосов
/ 08 мая 2019

В дополнение к решениям, которые предлагает @TheGameiswar, вы можете повеселиться, заставив систему действительно говорить с вами:

# Create a new SpVoice objects
$voice = New-Object -ComObject Sapi.spvoice

# Set the speed - positive numbers are faster, negative numbers, slower
$voice.rate = 0

# Say something
$voice.speak("Hey, Harcot, your BAT file is finished!")

Примечание: Я проверял это только на Windows 10, поэтому он может не работать на других версиях, но попробуйте и посмотрите.

0 голосов
/ 08 мая 2019

вы можете использовать автоматические переменные powershell для проверки состояния файла bat. В соответствии с this , $? возвращает значение true, если команда выполнена успешно.

ниже приведен пример кода

$a =Invoke-Command -ScriptBlock {

& "C:\temp1\test.bat"
}

if($?){

[console]::beep(500,300)

}

Вы также можете воспроизводить пользовательские звуки,

$PlayWav=New-Object System.Media.SoundPlayer

$PlayWav.SoundLocation=’C:\Foo\Soundfile.wav’

$PlayWav.playsync()

ссылки:
https://devblogs.microsoft.com/scripting/powertip-use-powershell-to-play-wav-files/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...