Die Antwort einer Batch abfragen
Ich möchte mir gerne eine Batch-Datei schreiben, habe allerdings nicht sehr viel Ahnung davon und habe auf diese Frage im Internet noch nichts gefunden. Die Batch-Datei soll mir helfen die Updates auf der Arbeit schneller auf allen Rechnern zu installieren. Dazu soll die Batch-Datei mich in der Konsole fragen, welche Programme ich updaten möchte. Entweder 1 für Alle oder 2 für bestimmte Updates. So weit so gut. Wenn ich allerdings nur bestimmte Updates installieren möchte soll ich gefragt werden welche Updates, z.B. 1 Java 2 Adobe Reader 3 Flash Player 4 Shockwave. Das Problem habe ich dann bei der Antwortabfrage, da ich es gerne hätte, dass ich einfach 134 eingeben kann und die Datei dann Java, Flash Player und Shockwave isntalliert. Die einzige Lösung die mir bis jetzt einfällt ist mit if, allerdings wäre es bei 6 Möglichkeiten viel zu lang. (1 12 123 1234 12345 2 23 234 etc...) Gibt es einen Scan-Befehl für Batch-Dateien? Zb "wenn 1 vorkommt dann Java, wenn 2 vorkommt dann Adobe Reader"
Leider kann ich die Frage nicht kürzer fassen und eine Antwort habe ich darauf auch noch nicht im Internet gefunden. Mein Ausbilder kann mir dabei leider auch nicht weiter helfen :D
Schon mal Danke an euch im Vorraus =)
Leider kann ich die Frage nicht kürzer fassen und eine Antwort habe ich darauf auch noch nicht im Internet gefunden. Mein Ausbilder kann mir dabei leider auch nicht weiter helfen :D
Schon mal Danke an euch im Vorraus =)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 202719
Url: https://administrator.de/contentid/202719
Ausgedruckt am: 26.11.2024 um 09:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo @Noobstar0815,
nach 1 min googlen bin ich auf folgende Seite gestoßen
http://phpperformance.de/pruefen-ob-ein-string-eine-bestimmte-zeichenke ...
die dritte Variante müsste für dich passend sein.
Grüße
Exzellius
nach 1 min googlen bin ich auf folgende Seite gestoßen
http://phpperformance.de/pruefen-ob-ein-string-eine-bestimmte-zeichenke ...
die dritte Variante müsste für dich passend sein.
Grüße
Exzellius
Hi,
zuerst mal schau dir mal folgenden Link an und verwende bitte zukünftig "Code-Tags". Diese machen das lesen deines Quellcodes viel einfacher
Formatierungen in den Beiträgen
zu deinen Antworten:
du wirst nicht um mehrere If-Abfragen herumkommen, allerdings nur eine pro Programm, welches aktualisiert werden muss.
D.h.
Ich hoffe ich konnte dir helfen
Grüße
Exzellius
PS: Grußformeln sind nicht schwer anzuwenden ...
zuerst mal schau dir mal folgenden Link an und verwende bitte zukünftig "Code-Tags". Diese machen das lesen deines Quellcodes viel einfacher
Formatierungen in den Beiträgen
zu deinen Antworten:
du wirst nicht um mehrere If-Abfragen herumkommen, allerdings nur eine pro Programm, welches aktualisiert werden muss.
D.h.
set asw=0
set /p asw="Bitte alle zu aktualisierenden Programme angeben (Bsp.: 134):"
if(preg_match("Hier dein String der gefunden werden soll(z.B. Java oder 1 wenn Java 1 ist)","Hier der String der überprüft werden soll)) "Hier den Befehl für das jeweilige Update einfügen"
Grüße
Exzellius
PS: Grußformeln sind nicht schwer anzuwenden ...
Moin moin
Exzellius hat sich da wohl versehen !
Er hat eine PHP-Funktion vorgeschlagen, diese kannst du logischerweise nicht in einer Batch-Datei verwenden !
Das hätte dir allerdings auch auffallen können
Nun denn,
ich würde vorschlagen das du die Eingabe einfach Zeichenweise abarbeitest !
Das erlaubt auch die willkürliche Eingabe der Zahlen: 5143 162 41
Schau mal hier: tutorials.de Batch Zeichenweise das sollte dir weiterhelfen können.
Anstelle des echos in Zeile 8 schiebst du dann ein IF-ELSE-Konstrukt ein das für jedes Zeichen eine andere Funktion aufruft welche die gewünschte Aufgabe erfüllt.
Zumindest __theoretisch__ macht das einen guten Eindruck *g*
Viel Erfolg
~Arano
Exzellius hat sich da wohl versehen !
Er hat eine PHP-Funktion vorgeschlagen, diese kannst du logischerweise nicht in einer Batch-Datei verwenden !
Das hätte dir allerdings auch auffallen können
Nun denn,
ich würde vorschlagen das du die Eingabe einfach Zeichenweise abarbeitest !
Das erlaubt auch die willkürliche Eingabe der Zahlen: 5143 162 41
Schau mal hier: tutorials.de Batch Zeichenweise das sollte dir weiterhelfen können.
Anstelle des echos in Zeile 8 schiebst du dann ein IF-ELSE-Konstrukt ein das für jedes Zeichen eine andere Funktion aufruft welche die gewünschte Aufgabe erfüllt.
Zumindest __theoretisch__ macht das einen guten Eindruck *g*
Viel Erfolg
~Arano
Hi,
Ups *Kopf -> Tisch*
Danke für die Info @Arano :D
Dann vergiss meinen Lösungsvorschlag ganz schnell
Grüße
Exzellius
Ups *Kopf -> Tisch*
Danke für die Info @Arano :D
Dann vergiss meinen Lösungsvorschlag ganz schnell
Grüße
Exzellius
Hallo @ All!
Vielleicht noch ein weiterer Ansatz: Da es ja eigentlich darum geht, bei Vorhandensein einer bestimmten Wahl eine Installation zu starten, könnte auch
ein Weg sein ...
Grüße
bastla
Vielleicht noch ein weiterer Ansatz: Da es ja eigentlich darum geht, bei Vorhandensein einer bestimmten Wahl eine Installation zu starten, könnte auch
echo %asw%|findstr "1">nul && echo Installation Java
echo %asw%|findstr "2">nul && echo Installation Adobe Reader
echo %asw%|findstr "3">nul && echo Installation Flash Player
echo %asw%|findstr "4">nul && echo Installation Shockwave
Grüße
bastla