2014-11-22 2 views
5

Ich habe ein Batch-Skript in einem interaktiven Modus geschrieben, um einige Aufgaben zu erledigen. Diese Aufgaben nehmenSo starten Sie ein System "Beep", von der integrierten PC-Lautsprecher, mit einer Batch-Datei?

Manchmal, eine lange Zeit beendet werden, und dann der Ansatz fragt, ob der Benutzer auf die nächste Aufgabe gehen will, oder zurück in die Charge des Hauptmenü oder ,,,

Jetzt, Ich möchte einen "Interactive Alarm" -Befehl hinzufügen, der einen kleinen, kurzen Piepton ausgibt (Bsp .: Wie beim Einschalten unserer PCs), um den Stapelbenutzer auf neue Fragen aufmerksam zu machen.

Ich weiß nicht, ob das möglich ist oder nicht, aber das Wichtigste für mich, NICHT eine GUI-Anwendung wie WMP oder so zu verwenden .. Ich möchte nur aus dem Hintergrund tun, auch wenn das Der Signalton muss über den kostenlosen Lautsprecher oder über eine Drittanbieter-CLI-Anwendung ausgegeben werden (übrigens habe ich Cygwin auf meinem Win7-x64 installiert).

Bitte beachten Sie, dass ich diesen Alarmbefehl genau vor den interaktiven Fragen hinzufügen werde und auf die Antwort des Benutzers warten muss, um zur nächsten Stufe zu kommen. So kann ich nicht einfach den Stapel beenden, indem ich einen echten Fehlerton mache!

Also, Würde jemand Bitte sagen Sie mir, wie das geht?

schätzen Ihre Hilfe ... Danke :)

Antwort

6

Es ist nicht möglich, Echo der BEL direkt in (zum Beispiel) Notizen eingeben.

es zu erhalten, geben Sie echo ^G>>yourbatch.bat auf der Kommandozeile (Geben Sie nicht ^G, aber <Control>-G, die als ^G auf dem Bildschirm angezeigt wird). Dadurch wird am Ende der Datei ein seltsam aussehender Charakter angezeigt. Das ist das BEL Zeichen 0x007 ("control-G"). Einfach kopieren/verschieben Sie es auf einen beliebigen echo Befehl, den Sie mögen.

auch
set /p "input=^Ggive value: " 

möglich ist (wo der ^G repräsentiert das seltsame Zeichen)

+0

https://stackoverflow.com/questions/45880111/beep-sound-using-batch-file?noredirect=1&lq=1 können Sie mir helfen, ich hörte nicht auf zu verstehen, Ihre Antwort –

+1

Generating 'BEL' ist eine Sache (nicht 'ALT'-' 7', sondern 'ALT'-' 0'-'0'-' 7', alternativ drücken Sie 'Strg + G'), aber es funktioniert nicht alleine.Sie müssen es "ECHO" es: Geben Sie 'echo' (einschließlich der Raum), drücken Sie dann ** entweder ** 'Ctrtl-G' ** oder **' ALT' und während Sie gedrückt halten, geben Sie '007'. Dann lassen Sie die "ALT" -Taste los. '^ G' sollte auf Ihrem Bildschirm erscheinen. Drücken Sie ENTER und Sie sollten den Signalton hören (Hinweis: Win10 fängt 'BEL' und gibt Ihnen stattdessen einen Systemton) – Stephan

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

oder

rundll32.exe cmdext.dll,MessageBeepStub 

oder

rundll32 user32.dll,MessageBeep 

Mit rundll Funktionen you''ll keine brauche spezielle s Symbole wie ^G. Mit der ersten Methode können Sie auch die frequency and the time you wan t piepsen.

Sie können auch ein ASCII-Steuercode this

+0

Hey! Dies funktioniert gut unter win10. Geht es auch unter win7? Kann nicht testen. – Jewenile

+0

@Jewenile - ja, es wird. – npocmaka

+0

Thx. Übrigens, gibt es irgendeinen anderen Sound als nur diesen MessageBeep? Ich war bei meiner Suche nicht erfolgreich. – Jewenile

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

überprüfen^G nach dem Echo ist da. Kopieren Sie diesen Code und speichern Sie ihn als ASCII/ANSI mit einem Texteditor.

Verwandte Themen