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
GELÖST

Die Antwort einer Batch abfragen

Frage Entwicklung Batch & Shell

Mitglied: Noobstar0815

Noobstar0815 (Level 1) - Jetzt verbinden

04.03.2013 um 10:35 Uhr, 1906 Aufrufe, 9 Kommentare

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 =)
Mitglied: 106543
04.03.2013 um 10:54 Uhr
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
Bitte warten ..
Mitglied: Noobstar0815
04.03.2013 um 11:12 Uhr
Hmm, leider hilft mir das nur teilweise weiter, da ich nicht genau weis, wie ich es dann zu schreiben habe... :D
Kannst du mir evtl. sagen wie ich es schreiben muss?
Aktuell sieht es bei mir so aus :
set asw=0
set /p asw="Bitte alle zu aktualisierenden Programme angeben (Bsp.: 134):"
Wie schaffe ich es dann, dass sich if(preg_match("/134/",$string)) auf die Antwort bezieht? Funktioniert
if(preg_match("/134/",$asw))?
Bitte warten ..
Mitglied: Noobstar0815
04.03.2013 um 11:16 Uhr
Bzw: Funktioniert es, dass wenn ich dann zb 3 Programme auswähle und dann 134 eingebe, dass es dann auch alle 3 ausführt nacheinander mit wait/call, ohne dass ich dann für jede Möglichkeit ein if erstellen mus? weil das würde ziemlich lange dauern, gibt halt zuviele Möglichkeiten... 1 12 13 14 15 16 123 124 125 etc...
Bitte warten ..
Mitglied: 106543
04.03.2013, aktualisiert um 11:42 Uhr
Hi,

zuerst mal schau dir mal folgenden Link an und verwende bitte zukünftig "Code-Tags". Diese machen das lesen deines Quellcodes viel einfacher
http://www.administrator.de/faq/20

zu deinen Antworten:
du wirst nicht um mehrere If-Abfragen herumkommen, allerdings nur eine pro Programm, welches aktualisiert werden muss.
D.h.
01.
set asw=0 
02.
set /p asw="Bitte alle zu aktualisierenden Programme angeben (Bsp.: 134):" 
03.
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"
Ich hoffe ich konnte dir helfen

Grüße
Exzellius

PS: Grußformeln sind nicht schwer anzuwenden ...
Bitte warten ..
Mitglied: Arano
04.03.2013 um 11:41 Uhr
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
Bitte warten ..
Mitglied: 106543
04.03.2013 um 11:44 Uhr
Hi,

Ups *Kopf -> Tisch*
Danke für die Info @Arano :D
Dann vergiss meinen Lösungsvorschlag ganz schnell

Grüße
Exzellius
Bitte warten ..
Mitglied: Noobstar0815
04.03.2013 um 12:01 Uhr
Danke, allerdings bräuchti ich noch eine Erklärung für den Code :/
01.
@echo off 
02.
set "name=mein text" 
03.
set "num=-1" 
04.
:loop 
05.
set /a num=num+1 
06.
call set "name2=%%name:~%num%,1%%" 
07.
if defined name2 ( 
08.
echo(%name2% 
09.
goto :loop 
10.
) 
Kannst du mir den evtl erklären? *Lieb guck* Bin leider grade zu blöd um ihn zu verstehen
Bitte warten ..
Mitglied: colinardo
04.03.2013 um 12:31 Uhr
Das Script geht den Text der Variablen name Buchstabe für Buchstabe durch und speichert diesen in der Variablen name2 und gibt diesen auf der Console aus, solange bis es alle Buchstaben von name durchgegangen ist.

Grüße Uwe
Bitte warten ..
Mitglied: bastla
04.03.2013 um 15:27 Uhr
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
01.
echo %asw%|findstr "1">nul && echo Installation Java 
02.
echo %asw%|findstr "2">nul && echo Installation Adobe Reader 
03.
echo %asw%|findstr "3">nul && echo Installation Flash Player 
04.
echo %asw%|findstr "4">nul && echo Installation Shockwave
ein Weg sein ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Programmierung IF Abfragen
gelöst Frage von PanubuBatch & Shell8 Kommentare

Hallo zusammen, ich möchte gerne einige IF-Abfragen in einer Batch programmieren, was allerdings nicht so möchte wie ich. Er ...

Batch & Shell
Ungewöhnliche Txt.Datei-Abfrage mit Batch
Frage von DaTobsnBatch & Shell3 Kommentare

Ich habe in einem Ordner verschiedene txtDateien, welche verschiedenes enthalten. Ich will in ALLEN txtDateien nach etwas zuvor durch ...

Windows Tools
Wenn Abfrage mit PS oder Batch
gelöst Frage von CitytowWindows Tools7 Kommentare

Hallo Liebe Community, hat einer von euch eine Idee, wie man eine WENN Abfrage in einer PS oder Batch ...

Batch & Shell
Batch-Datei: Benutzer-Abfrage
gelöst Frage von Axel90Batch & Shell7 Kommentare

Hallo zusammen! Ich habe bei Google keine Lösung für mein Anliegen gefunden: Ich möchte in einer Batch-Datei (Login-Sequenz) eine ...

Neue Wissensbeiträge
Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 2 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 3 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 6 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Erkennung und -Abwehr

Sicherheitslücke Spectre und Meltdown: Status prüfen

Anleitung von Frank vor 12 StundenErkennung und -Abwehr2 Kommentare

Nach all den Updates der letzten Woche sollte man unbedingt auch den Status prüfen, ob die Sicherheitslücken Spectre, Meltdown ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
Frage von Winfried-HHBatch & Shell15 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...