PS'de bir ses çalmak bunu yapmak kadar basit ...
# this
"`a"
# or this basic tone
[console]::beep(1000, 500)
Pitch'i değiştirmek için ilk sayının değerini değiştirin (190'dan düşük veya 8500'den yüksek herhangi bir şey duyulamaz) ve süreyi değiştirmek için ikinci sayının değerini değiştirin:
# Or this
[System.Media.SystemSounds]::Beep.Play()
Sonra onu çıkış koduna bağla. PS'deki harici exe için, PS yönlendirmesini kullanarak, çıktısını almak üzere kod yazmanız gerekir.
Çalmak istediğiniz sesi oluşturmak için seçtiğiniz aracı kullanın. Elbette bu, kodunuzu çalıştırmayı planladığınız tüm sistemlerde olmalıdır.
1..3 | %{
'Play a sound'
[console]::beep(1000, 500)
}
OP Güncellemesi
Telaşa gerek yok.
(1) 'de olduğu gibi, gösterilen döngü örneğinde olduğu gibi, beklenen metin çıktısından önce veya sonra ses satırını eklemeniz gerekir.
(2) 'e gelince esnek değil. CRTL + G'yi bir .bat / .cmd dosyasında kullanmak ve onu beklenen çıkış satırından önce veya sonra çağırmakla sınırlıdır.
Yine de, peşinde olduğunuz tüm çıktıları yakalamak için kod yazmanız gerekir. Wav dosyalarını çalmak, kodunuzda özellikle cmd.exe için bir medya oynatıcıyı aramak anlamına gelir.
# PowerShell playing a wav file
$PlayWav=New-Object System.Media.SoundPlayer
$PlayWav.SoundLocation='C:\Foo\Soundfile.wav'
$PlayWav.playsync()
# CMD playing a wav file
start 'C:\Foo\Soundfile.wav'
İşte play .wav dosyalarındaki asıl sorun veya normal konsolun dışındaki bip sesleri, medya oynatıcı her seferinde aranacak ve dosyayı oynatmak için görüntülenmeli ve reddedilmelidir. Çok otomatik bir şey değil ..
Yani, yerel konsol sesleri ile sopa sonra ne için IMHO.