C'è un modo per disattivare in modo assoluto la funzione Beeping della shell dei comandi di Windows?
Sto lavorando a uno script PowerShell in questo momento che finisce per stampare diverse righe di testo sullo schermo. Sto elaborando un bug nella logica di codifica. Ma ogni volta che mi sbaglio il mio script sputerà un mucchio di caratteri binari casuali sullo schermo e alla fine causerà molti fastidiosi bip.
Il fallimento è abbastanza ovvio senza i bip :)
Il comando della riga di comando di Windows "net stop beep" spegnerà il segnale acustico e "net start beep" attiverà il segnale acustico. Fonte
Va notato che l'istruzione arresta il segnale acustico globalmente su Windows e non solo per il comando di shell di Windows. Inoltre, il servizio verrà eseguito di nuovo quando si riavvia il computer.
La risposta di Ady sarà sufficiente. Ma se vuoi semplicemente disabilitarlo per istanza, puoi sempre mettere questo metodo in un file batch (ma è così breve che puoi semplicemente scriverlo) ed eseguirlo.
Per controllare l'avvio del servizio Beep dalla riga di comando, disabilitare il servizio attraverso i riavvii con:
C:\Windows\system32>sc config beep start= disabled
[SC] ChangeServiceConfig SUCCESS
Riattivare con
C:\Windows\system32>sc config beep start= auto
[SC] ChangeServiceConfig SUCCESS
Notare la spaziatura nella configurazione sc negli esempi precedenti, in quanto ha requisiti specifici.
Per fare questo da PowerShell:
PS C:\Windows\System32> set-service beep -startuptype automatic
PS C:\Windows\System32> set-service beep -startuptype disabled
Effettuare le seguenti operazioni per disabilitare il segnale acustico di sistema della propria macchina:
Rif: http://windowsitpro.com/article/articleid/15508/how-do-i-stop-windows-2000-from-beeping.html
Set-PSReadlineOption -BellStyle Visual
Vedere https://msdn.Microsoft.com/powershell/reference/5.1/PSReadline/Set-PSReadlineOption
Dal momento che le altre soluzioni non hanno funzionato per me (ad esempio, net stop beep
è rimasto bloccato per sempre: The service is starting or stopping. Please try again later.
), il modo in cui ho disabilitato il beep/Ding in Cmder/ConEmu era impostare il suono per Critical Stop
su none nelle impostazioni del sistema.
Non più ammaccature!