Você pode fazer isso nativamente com o PowerShell. O PowerShell está incluído no Windows Vista e posterior e pode ser baixado da Microsoft para versões mais antigas.
Arquivos wave
O PowerShell pode ser usado para carregar a classe System.Media.SoundPlayer
.NET , que pode ser usado para reproduzir um arquivo wave.
(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();
Se você quiser, pode executar isso a partir da linha de comando normal:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();
(observe que PlaySync
é usado no segundo exemplo, já que a execução assíncrona padrão seria interrompida pelo fechamento do processo do PowerShell quando lançado assim)
E se você quisesse tocar apenas os primeiros, digamos, 5 segundos do som:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;
Beep
Um bipe pode ser facilmente realizado na linha de comando normal com echo ^G
(onde ^G
representa BEL, caractere ASCII 7, inserido com Ctrl + G ) , como descrito em outras respostas. No interesse da integridade, aqui está o método do PowerShell:
echo ^G
Sim, é o mesmo que o cmd
one. echo
no PowerShell é um alias (ou seja, a mesma coisa) para Write-Host
, que exibe algo na tela (ou aciona o som de notificação do Windows no caso de BEL
).
Um método alternativo no PowerShell é usar a seqüência de escape para BEL, em vez de inserir um caractere BEL literal com Ctrl + G :
echo 'a
'
é o caractere de escape do PowerShell, que modifica o significado do caractere após ele. Um a
com escape indica BEL. A vantagem dessa abordagem é que ela é mais fácil e mais visível quando digitada em um script.
Para executar isso em um arquivo de lote (novamente, Vista ou posterior):
powershell -c echo 'a
fonte