Saltar al contenido

¿Cómo iniciar un “bip” del sistema, desde el altavoz integrado de la PC, utilizando un archivo por lotes?

Solución:

rundll32.exe Kernel32.dll,Beep 750,300

o

rundll32.exe cmdext.dll,MessageBeepStub

o

rundll32 user32.dll,MessageBeep

Con las funciones rundll no necesitará símbolos especiales como ^G. Con el primer método también puede configurar la frecuencia y el tiempo que desea que suene.


ACTUALIZAR

otras opciones son:

powershell "[console]::beep(500,300)"

o usando systemSounds.bat

call systemsounds.bat  beep

rundll32.exe Kernel32.dll,Beep 750,300 – esto no funciona bien en los sistemas modernos de Windows ya que rundll32 ya no acepta valores enteros a través de la línea de comando y esto reproducirá el pitido con los valores predeterminados que es demasiado largo (y la frecuencia es irritante)

Como la capacidad de emitir pitidos depende también de la placa base y si la placa base tiene un sistema de altavoces, lo que se convierte cada vez más en una rareza, los sistemas dependen cada vez más de los altavoces normales. Entonces, una opción es reproducir sonido a través de ellos. A continuación se muestran algunas opciones:

Usando las capacidades de habla del SAPI.SpVoice:

mshta "javascript:code(close((V=(v=new ActiveXObject('SAPI.SpVoice')).GetVoices()).count&&v.Speak('beep')))"

Aquí, esto está envuelto en un archivo por lotes y las palabras se pueden pasar como un argumento

SAPI.SpVoice se puede usar para jugar wav archivos y tiene algunos que vienen con la instalación de Windows. Puede usar este script:

spplayer.bat  "C:WindowsMediaWindows Navigation Start.wav"

Otra opción: usar los objetos de Windows Media Player active-x para reproducir un sonido. En Windows XP no se instaló de forma predeterminada, pero creo que para las versiones más nuevas de Windows sí. También puede jugar mp3 archivos:

call mediarunner.bat "C:WindowsMediaRing03.wav"

Y uno un poco oscuro: usar el <bgsound> etiqueta de Internet Explorer (que también puede reproducir archivos MP3). Aquí está el guión:

call soundplayer.bat "C:WindowsMediatada.wav"

Y aquí hay una forma de usar el BEL carácter para producir sonido con un código fácil de copiar y pegar (lo he llamado un beeper.bat):

@echo off
setlocal
::Define a Linefeed variable
(set LF=^
%=-=%
)
  
for /f eol^=^%LF%%LF%^ delims^= %%A in (
   'forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo(0x07"'
) do echo(%%A

No es posible escribir el BEL directamente en (por ejemplo) el bloc de notas.

Para obtenerlo, escriba echo ^G>>yourbatch.bat en la línea de comando (no escriba ^ G, pero <Control>-G, que se mostrará como ^G en la pantalla). Eso pone un personaje de aspecto extraño al final de su archivo. Eso es BELcarácter 0x007 (“control-G”). Simplemente cópielo / muévalo a cualquier echo comando, te gusta. También

set /p "input=^Ggive value: "

es posible (donde el ^G representa ese extraño char)

Se puede utilizar lo siguiente para emitir un pitido

  • sin pausar el guion
  • sin crear una nueva línea.
  • sin requerir el uso de un carácter no imprimible
 Echo/| CHOICE /N 2> nul & rem BEL

Es un uso indebido deliberado del comando de elección, que Echo no es nada a través de una tubería a Elección, lo que provoca un error irrefutable. STDERR se redirige a nulo y la solicitud de elección predeterminada se suprime mediante el /N interruptor, lo que significa que no se emite una nueva línea.

Si por alguna razón desea reutilizar este tono molesto a lo largo de un script, puede definirlo como una macro.

Set "BEL=Echo/| CHOICE /N 2> nul"
%BEL%
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *