2014-11-22 13 views
5

Ho scritto uno script batch in una modalità interattiva, per fare alcune attività.Come avviare un sistema "Beep", dall'altoparlante PC integrato, utilizzando un file batch?

A volte, queste attività richiede molto tempo per essere finito, e quindi il batch chiede se l'utente vuole andare al prossimo compito, o tornare al menu principale del batch o ,,,

Ora, quello che voglio fare è aggiungere un comando "Allarme interattivo", che emette un breve segnale acustico (Es: come quello quando accendiamo i nostri PC), per avvisare l'utente del batch di nuove domande.

Non so se questo sia possibile o meno, ma la cosa più importante per me, NON usare un'applicazione GUI come WMP o così .. Voglio solo farlo dallo sfondo, anche se quello il beep deve essere fatto dall'altoparlante libero o usando un'applicazione CLI di terze parti (a proposito, ho installato Cygwin sul mio Win7-x64).

Si prega di notare che, aggiungerò quel comando di allarme esattamente prima delle domande interattive, in attesa che la risposta dell'utente arrivi alla fase successiva, quindi non posso semplicemente terminare il batch, facendo un vero bip di errore!

Quindi qualcuno potrebbe dirmi come si fa?

Apprezzo il vostro aiuto ... Grazie :) comando

risposta

6

Non è possibile digitare il blocco note BEL direttamente a (per esempio).

per farlo, tipo echo ^G>>yourbatch.bat sulla linea di comando (non digitare ^G, ma <Control>-G, che verrà indicato come ^G sullo schermo). Questo mette un personaggio dall'aspetto strano alla fine del tuo file. Questo è il carattere0x007 ("control-G"). Basta copiare/spostarlo su qualsiasi comando echo, che ti piace. Anche

set /p "input=^Ggive value: " 

è possibile (dove il ^G rappresenta quello strano char)

+0

https://stackoverflow.com/questions/45880111/beep-sound-using-batch-file?noredirect=1&lq=1 puoi aiutarmi non ho smesso di capire la tua risposta –

+1

Generare 'BEL' è una cosa (non 'ALT'-'7' ma' ALT'-'0'-'0'-'7', in alternativa premere 'Ctrl + G'), ma non funziona da solo.Devi 'ECHO' it: scrivi' echo '(compreso lo spazio), quindi premi ** **' Ctrtl-G' ** o ** 'ALT' e mentre mantieni premuto, inserisci '007'. Quindi rilasciare il tasto 'ALT'. '^ G' dovrebbe apparire sullo schermo. Premi ENTER e dovresti sentire il segnale acustico (Nota: Win10 cattura 'BEL' e ti dà invece un suono di sistema) – Stephan

7
rundll32.exe Kernel32.dll,Beep 750,300 

o

rundll32.exe cmdext.dll,MessageBeepStub 

o

rundll32 user32.dll,MessageBeep 

Con funzioni rundll you''ll no bisogno di s speciali ymbols come ^G. Con il primo metodo è anche possibile impostare frequency and the time you wan t su un segnale acustico.

È possibile controllare anche this

+0

Hey! Funziona bene con win10. Lo fa anche con win7? Impossibile testare. – Jewenile

+0

@Jewenile - sì, lo sarà. – npocmaka

+0

Thx. A proposito c'è qualche altro suono tra cui scegliere oltre a questo MessageBeep? Non ho avuto successo nella mia ricerca. – Jewenile

1
@echo off 
echo BEEP.BAT by CSS--- 
echo PRESS ANY KEY TO HEAR A BEEP... 
PAUSE>NUL 
ECHO 
echo I BEEPED 
PAUSE 

c'è un codice di controllo ASCII^G dopo l'eco. Basta copiare questo codice e salvarlo come ASCII/ANSI usando un editor di testo.

Problemi correlati