Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Erkennen ob eine Taste gedrückt wurde (und wenn möglich den "Piepton" bei falscher Taste unterdrücken)

Mitglied: BatchCoder

BatchCoder (Level 1) - Jetzt verbinden

03.07.2020, aktualisiert 14:30 Uhr, 301 Aufrufe, 5 Kommentare

Liebe Batch-Community,

ich arbeite gerade an einem Programm und möchte, dass erkannt wird, ob "W", "S" oder "E" gedrückt wurde und dieser Wert dann als die Variable %menue_pressed% festgelegt wird.
Außerdem soll bei einer falschen Taste der normal ertönende "Piepton" unterdrückt werden. Ist das irgendwie möglich? Ich habe das schonmal mit "errorlevel" ausprobiert, doch es hat nicht
funktioniert. Ich hoffe mir kann hierbei jemand weiterhelfen. =)

(Wenn das mit dem Unterdrücken des Pieptons nicht möglich ist, ist es auch nicht so schlimm.)

Hier nochmal ein Beispiel:
*Der Benutzer drückt die Taste "W"*
"W" wird als String für die Variable %menue_pressed% festgelegt.

Dann wird der Wert als Text ausgegeben:
Mitglied: rubberman
LÖSUNG 03.07.2020, aktualisiert um 14:34 Uhr
CHOICE

Piepton ist built-in bei choice und lässt sich nicht unterdrücken. Wenn das ein must-have ist, kann ich dir noch ein ellenlanges Workaround hinterher schieben …

Steffen
Bitte warten ..
Mitglied: BatchCoder
03.07.2020 um 14:38 Uhr
Sieht gut aus! =)

Hatte bisher noch keine Zeit das Skript zu testen aber schonmal vielen Dank für die schnelle Antwort.
Ich hätte nur eine Frage: Was genau bewirkt der Befehl "setlocal" am Anfang?

LG BatchCoder
Bitte warten ..
Mitglied: rubberman
03.07.2020 um 17:06 Uhr
Was genau bewirkt der Befehl "setlocal" am Anfang?

Das erzeugt ein Subenvironment, das bei Scriptende oder endlocal wieder verlassen wird. Änderungen der Umgebung (bspw. Variablenwerte) sind auf diese Scope beschränkt. Für stand-alone Scripts die du per Doppelklick ausführst, ist das weniger interessant. Wenn du das Script aber aus einer CMD Shell heraus ausführst, würden diese Änderungen der Umgebung auch in dieser Shell wirksam. Wenn du dann das nächste Script aus derselben Shell ausführst, hast du die vordefinierten Variablen aus dem vorhergehenden Aufruf auch dort wieder, was zu unerwarteten Nebenwirkungen führen kann. Beispielsweise wenn du ein if defined mit einem Variablenname ausführst, bei dem du davon ausgehst, dass die Variable nicht definiert wurde, aber tatsächlich doch bereits von der Shell vererbt wurde.

Steffen
Bitte warten ..
Mitglied: BatchCoder
03.07.2020 um 17:32 Uhr
Ah ok, das ist also nicht unbedingt notwendig?
Nur wenn das Skript von einem anderen aufgerufen wurde, oder?
Bitte warten ..
Mitglied: rubberman
03.07.2020, aktualisiert um 18:04 Uhr
Das lässt sich nicht verallgemeinern. Es ist mein persönliches Default weil es in den meisten Fällen entweder nützlich ist oder zumindest nicht schadet. Du musst von Fall zu Fall entscheiden, anhand dessen was ich dir bezüglich des Subenvironments geschrieben habe.
Ausgabe ist

Kontraproduktiv ist es dort, wo du willst dass das Environment übernommen werden soll.
Bspw.:

caller.bat
settings.bat
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel - Farben werden falsch gedruckt
Frage von Obelix36Microsoft Office3 Kommentare

Hallo zusammen, folgendes Problem: Ich habe eine Excel-Tabelle mit allerlei farblichen Formatierungen! Jetzt habe ich so eine Seite ausgedruckt ...

Windows Server
Druckaufträge werden nicht gedruckt
gelöst Frage von 77282Windows Server4 Kommentare

Hallo, ich habe mit einem Drucker Probleme und zwar stehen einige Druckaufträge an die aber nicht gedruckt werden. Ich ...

Exchange Server
Wer hat was gedruckt ?
Frage von uridium69Exchange Server3 Kommentare

Morgen allerseits Ich habe die Anfrage erhalten von unserer Verrechnungsabteilung dass eine Rechnung nicht rausgeschickt wurde, bzw. nicht beim ...

Drucker und Scanner

Plotter (Druckaufträge) werden nicht gedruckt

Frage von Hans3003Drucker und Scanner9 Kommentare

Hallo, ich habe einen Canon Plotter der via LAN im Netzwerk erreichbar ist, auf den Clients ist der passende ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Liste ungeschützter Pulse-VPN-Server veröffentlicht

Information von Visucius vor 1 TagErkennung und -Abwehr

bzw. Der tiefe Blick in die Profi-Administratoren-Welt ;-)

Windows 10

Windows Defender verhindert Telemetrieblocking via hosts-Datei

Information von BirdyB vor 1 TagWindows 102 Kommentare

Für diejenigen, die keine Daten an MS senden wollten, war die hosts-Datei manchmal eine Option.

Monitoring

Unabhängiger Ansatz - IoT (frei von Cloud- oder Appzwang) - Hier mit Schaltsteckdosen

Anleitung von beidermachtvongreyscull vor 4 TagenMonitoring2 Kommentare

Tach Kollegen, ich erzähle Euch mal von meiner Ausgangslage und den/m Problem(chen) Ich benutze ein NAS zur Lagerung meiner ...

Microsoft
Microsoft Advanced Threat Protection for Linux
Information von Dani vor 6 TagenMicrosoft

Microsoft Defender Advanced Threat Protection (MD ATP) support for Linux with kernel version 3.10.0-327 or later, including the following ...

Heiß diskutierte Inhalte
Windows 10
Windows "Home" Version im Unternehmen legal?
gelöst Frage von BosnigelWindows 1027 Kommentare

Hallo, ich habe hier einen Kleinstunternehmer der überall sparen muss. Die Frage: Ist Windows 10 (also nicht Pro) für ...

Off Topic
Arbeitsangebot
gelöst Frage von CoffeeJunkieOff Topic26 Kommentare

Da meine Firma massiv Stellen abbaut, bin ich auf der Suche nach einem neuen Job Basis Fakten: Abschuß Fisi ...

Exchange Server
Exchange Emailadresse deaktivieren oder löschen
Frage von imebroExchange Server14 Kommentare

Hallo, wir arbeiten mit einem Windows Server 2016 und Exchange 2016. Ein Mitarbeiter ist im März 2020 ausgeschieden und ...

Server
Verbindung zum Linux Server nicht möglich
gelöst Frage von it-fraggleServer13 Kommentare

Hallo zusammen, habe gerade ein sonderbares Problem auf dessen Lösung ich gerade nicht komme. Wir haben hier seit einigen ...

Weniger Werbung?
Administrator Magazin
07 | 2020 In der Juli-Ausgabe beleuchtet das IT-Administrator Magazin den Themenschwerpunkt "Monitoring & Support". Darin zeigt die Redaktion unter anderem, wie Sie die Leistung von Terminalservern im Blick behalten und welche Neuerungen das Ticketsystem OTRS 8 mitbringt. Auch die Überwachung von USV-Anlagen darf nicht fehlen. In ...