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 IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

Batch datei soll mit Tastendruck etwas bestimmtes ausführen

Mitglied: Bassdriver

Bassdriver (Level 1) - Jetzt verbinden

02.07.2010, aktualisiert 14:24 Uhr, 11965 Aufrufe, 11 Kommentare

per taste 1 =script 1 ausführen per taste 2 = script 2 ausführen

Hallo,

ich wollte eine Batch datei anfertigen die mehrere Scripts ausführt.
Allerdings sollte dies so ablaufen:

Bsp:

Taste "A" = Führt Script eins aus
Taste "B"= Führt Script zwei aus

WIe kann ich das so anfertigen?
Mitglied: 60730
02.07.2010 um 13:18 Uhr
moin und willkomen

ohne ross und reiter - ist der Tipp etwas schwerer...

choice /?
set /p

Gruß
Bitte warten ..
Mitglied: TDuemesnil
02.07.2010 um 13:21 Uhr
nur als Anregung
set /? hilft dabei
set /P Eingabe=[FRAGE]
if "%Eingabe%"=="A" call batcheins
if "%Eingabe%"=="B" call batcheins
Bitte warten ..
Mitglied: Bassdriver
02.07.2010 um 13:51 Uhr
Zitat von TDuemesnil:
nur als Anregung
set /? hilft dabei
set /P Eingabe=[FRAGE]
if "%Eingabe%"=="A" call batcheins
if "%Eingabe%"=="B" call batcheins

mit diesem script führt bei angabe von b aber auch gleichzeitig a aus...

ich habs bei mir so:
01.
@echo off 
02.
set /P Eingabe=Eingabe 
03.
if "%Eingabe%"=="a" call  
04.
	echo A wurde ausgeführt -- %date% %time%  >> C:\log.txt 
05.
if "%Eingabe%"=="b" call 
06.
    echo B wurde ausgeführt -- %date% %time%  >> C:\log.txt  
07.
if "%Eingabe%"=="c" call exit 
08.
	echo C wurde ausgeführt -- %date% %time%  >> C:\log.txt
Wenn ich jetzt "c" eingebe...

Meine LOG sieht so aus:

A wurde ausgeführt -- 02.07.2010 13:54:32,25
B wurde ausgeführt -- 02.07.2010 13:54:32,26
C wurde ausgeführt -- 02.07.2010 13:54:32,26

[Edit Biber] Alles nach "Batch & Shell" geschoben. Und schon mal Codetags dazugepackt... das wird bestimmt noch welcher... [/Edit]
Bitte warten ..
Mitglied: Bassdriver
02.07.2010 um 14:38 Uhr
----
[Edit Biber] Alles nach "Batch & Shell" geschoben. Und schon mal Codetags dazugepackt... das wird bestimmt noch
welcher... [/Edit]


Wie meinst Du das?
Bitte warten ..
Mitglied: Biber
02.07.2010 um 14:51 Uhr
Moin bassdriver,

willkommen im Forum.

Ich meine damit, dass ich deine Frage aus dem Bereich "Windows allgemein wirds wohl sein" in den Bereich "Batch & Shell" geschoben habe.

Dort findet sie bestimmt viel eher Bekannte und Verwandte.

Außerdem habe ich diejenigen Zeilen, die jetzt in deinem Kommentar mit einer generierten Zeilennummer erscheinen, als Code formatiert

Das Wort Code, so wie es hier im Forum verwendet wird, hat nichts mit dem ähnlich klingenden Wort aus dem Bereich Lebewesen zu tun, sondern ist neudeutsch für "Schnipsel". Jedenfalls hat es meistens nichts miteinander zu tun.
Oder zumindest nicht zwingend.

Anyhow, ich bin optimistisch, dass wir heute deinen Schnipsel noch zum Fliegen bringen.

Grüße
Biber
Bitte warten ..
Mitglied: Bassdriver
02.07.2010 um 14:59 Uhr
Achso Ok

dankeschön ;)
Bitte warten ..
Mitglied: TDuemesnil
02.07.2010 um 15:04 Uhr
@echo off
set /P Eingabe=Eingabe
if "%Eingabe%"=="a" echo A wurde ausgeführt -- %date% %time% >> log.txt
if "%Eingabe%"=="b" echo B wurde ausgeführt -- %date% %time% >> log.txt
if "%Eingabe%"=="c" echo C wurde ausgeführt -- %date% %time% >> log.txt

Call EOL mach gar nix in deinem Script
Die Zeile zwischen den IF abfragen sind ganz normale zeilen und haben mit dem if nix zu tun.

HTH
Thomas
Bitte warten ..
Mitglied: Biber
02.07.2010 um 15:15 Uhr
Mhhh,

ich bin bei den Temperaturen doch nicht so geduldig, wie ich von mir dachte.

Deshalb ergänzend zu TDuemesnils' Ausführungen (leider ohne Codeformatierung *anmerk*)
01.
@echo off & setlocal 
02.
:: Setlocal stellt sicher, dass im Batch gesetzte Variablen auch nur von und für diesen Batch sind 
03.
Set "log=c:\temp\log,txt"  & :: im Einsatzfall NACH dem Testen 
04.
Set "log=con" & :: JETZT, beim Testen als Logfile die Konsole/den Bildschirm nehmen. 
05.
 
06.
set /P Eingabe=Eingabe 
07.
::  "IF /i " stellt sicher, das Klein/Gross-Schreiben keinen Unterschied macht ..> also "a" und "A" sind beide okay 
08.
if  /i "%Eingabe%"=="a" echo A wurde ausgeführt -- %date% %time%>>%log% 
09.
if /i "%Eingabe%"=="b" echo B wurde ausgeführt -- %date% %time%>>%log% 
10.
if /i "%Eingabe%"=="c" echo C wurde ausgeführt -- %date% %time%>>%log%
Und das EOL bei Thomas bedeutet "End of Line"--> ein "Call" gefolgt von "Nix" in der Zeile.

Grüße
Biber
Bitte warten ..
Mitglied: Bassdriver
02.07.2010 um 15:37 Uhr
Jaa Super dankeschön klappt schonmal!!

Jetzt fehlt mir nur noch ein Error Script...

Bsp:

Drücken Sie Taste A,B,C

:: der Nutzer drückt D

Falsche Taste gedrückt bitte wiederholen
Bitte warten ..
Mitglied: Biber
02.07.2010 um 16:29 Uhr
Moin Bassdriver,

dann lass uns langsam und schrittweise weiter verfeinern.

Mit der bisherigen Skizze haben wir ja schon bewiesen, dass wir auf die "richtigen" Eingaben "richtig" reagieren.
Aber eben nur in derselben Zeile ( in der Zeile, die mit "IF...." beginnt, steht auch das, was ausgeführt werden soll).

Jetzt lassen wir ihn/sie/es mal springen [Hilfe zu GOTO gibt es unter Goto /? am CMD-Prompt]

01.
@echo off & setlocal 
02.
:: Setlocal stellt sicher, dass im Batch gesetzte Variablen auch nur von und für diesen Batch sind 
03.
Set "log=c:\temp\log.txt"  & :: im Einsatzfall NACH dem Testen 
04.
Set "log=con" & :: JETZT, beim Testen als Logfile die Konsole/den Bildschirm nehmen. 
05.
:TryAgainPls 
06.
set /P Eingabe=Eingabe 
07.
::  "IF /i " stellt sicher, das Klein/Gross-Schreiben keinen Unterschied macht ..> also "a" und "A" sind beide okay 
08.
if  /i "%Eingabe%"=="a" goto :Machwat 
09.
if /i "%Eingabe%"=="b" goto :Machwat 
10.
if /i "%Eingabe%"=="c" goto :Machwat 
11.
If /i "%Eingabe%"=="x" goto :eof 
12.
:: wenn keines der ganzen GOTOs gegriffen hat... noch ein Versuch 
13.
Echo Falsche Eingabe - Bitte nur A, B, C eingeben oder X für Abbrechen 
14.
goto :TryAgainPls 
15.
 
16.
:: Ende des Hauptscripts 
17.
##  Morgen kommen die Jungs nach Hause ## 
18.
## 2 Becher Joghurt ## 
19.
## Mutti anrufen ## 
20.
## sonstige Notizen ## 
21.
 
22.
:Machwat 
23.
echo %Eingabe% wurde ausgeführt -- %date% %time%>>%log% 
24.
Echo hier könnte mehr passieren 
25.
pause 
26.
 
Grüße
Biber
Bitte warten ..
Mitglied: kkboy94
02.07.2010 um 22:24 Uhr
Ich würde noch ein Offset bei die Variablen tun also so:
01.
@echo off & setlocal 
02.
:: Setlocal stellt sicher, dass im Batch gesetzte Variablen auch nur von und für diesen Batch sind 
03.
Set "log=c:\temp\log.txt"  & :: im Einsatzfall NACH dem Testen 
04.
Set "log=con" & :: JETZT, beim Testen als Logfile die Konsole/den Bildschirm nehmen. 
05.
:TryAgainPls 
06.
set /P Eingabe=Eingabe 
07.
::  "IF /i " stellt sicher, das Klein/Gross-Schreiben keinen Unterschied macht ..> also "a" und "A" sind beide okay 
08.
if  /i "%Eingabe:~,1%"=="a" goto :Machwat 
09.
if /i "%Eingabe:~,1%"=="b" goto :Machwat 
10.
if /i "%Eingabe:~,1%"=="c" goto :Machwat 
11.
If /i "%Eingabe:~,1%"=="x" goto :eof 
12.
:: wenn keines der ganzen GOTOs gegriffen hat... noch ein Versuch 
13.
Echo Falsche Eingabe - Bitte nur A, B, C eingeben oder X für Abbrechen 
14.
goto :TryAgainPls 
15.
 
16.
:: Ende des Hauptscripts 
17.
##  Morgen kommen die Jungs nach Hause ## 
18.
## 2 Becher Joghurt ## 
19.
## Mutti anrufen ## 
20.
## sonstige Notizen ## 
21.
 
22.
:Machwat 
23.
echo %Eingabe% wurde ausgeführt -- %date% %time%>>%log% 
24.
Echo hier könnte mehr passieren 
25.
pause 
26.
 
@Bassdriver
So wird sichergestellt, dass nur der erste Buchstabe relevant ist:
Du kannst also auch bei der Eingabe "Blub" eingeben, und die Batch wertet es als einfaches "b":

MfG Karsten
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch datei ausführen für einen anderen Rechner
gelöst Frage von TutterBatch & Shell3 Kommentare

Hallo an alle, ich möchte gern einen batchbefehl auf einen Rechner ausführen. Das muss aber ein anderer Anstoßen. Um ...

Batch & Shell
In Batch einen Tastendruck erfassen
gelöst Frage von cmdDateiBatch & Shell9 Kommentare

Eine kleine frage vom Anfänger in die runde, gibt es einen Bedingung oder eine Umgebungsvariabele die mit der ich ...

Windows 10
Mit einer batch Datei etwas in eine andere batch Datei schreiben und ausführen
Frage von RaphaelStockWindows 105 Kommentare

Hey Administratoren!! Ich habe ein Problem: Ich möchte alle 40 sek etwas in eine batch Datei schreiben und ausführen ...

Batch & Shell
Batch zum suchen bestimmter Dateien
gelöst Frage von FurycanBatch & Shell2 Kommentare

Hallo zusammen, ich hoffe man kann mir hier helfen. Ich Suche ein Script das mir folgendes macht: In einem ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...