fireemerald

Verkettung von mehreren Vergleichen mit einem UNDUND in Batch

Nun zu meiner Frage: Mein kleines Batch Programm will leider in einer Zeile, nicht so wie ich es gerne hätte.

Die betreffende Zeile sieht wie folgt aus:
IF /i NOT %ip2% == n && IF /i NOT %ip3% == n && echo 3. IP address: %ip3%

Das ganze soll erst prüfen ob die Variable %ip2% nicht gleich n ist.
Ist dies der Fall, also ist %ip2% zb. XYZ, soll geschaut werden ob die Variable %ip3% nicht gleich n ist.
Falls dies auch der Fall ist, soll die letzte Zeile "&& echo 3. IP address: %ip3%" angezeigt werden.

Als Fehler bekomme ich immer ""&&" kann syntaktisch an dieser Stelle nicht verarbeitet werden."

Dabei wäre noch zu erwähnen, dass wenn %ip2% schon n ist, %ip3% nicht festgelegt ist, durch die Reihenverkettung von der Abfrage %ip2% und dann erst %ip3%, dürfte %ip3% garnicht gebraucht werden und so zu keinem Fehler wegen nicht festgelegten Variablen führen. (Hintergedanke)

Wäre nett wenn jemand den Fehler in der Schreibweise finden und erklären könnte wie es richtig geht.


Als letztes hätte ich noch eine kurze weitere Frage, für die ich aber nicht noch extra einen Thread erstellen wollte.

Vor einiger Zeit fand ich auf einer anderen HP ein Batch Script, mit welchem man in eine Zeile mehrere IP Adressen hintereinander schreiben konnte,
zB.: "123.123.123.123 123.123.123.123. 123.123.123.123"

durch Leerzeichen getrennt, beliebig viele (glaub ich zumindest), und diese wurden dann später alle hintereinander angepingt.

Die HP finde ich leider nichtmehr und bin schon die ganze Zeit am grübeln wie der/die das hinbekommen hatte.

Wäre auch nett wenn jemand dazu zwei drei Zeilen schreiben könnte, sodass es mal diese Grundfunktion beinhaltet.


MfG, FireEmerald
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 189429

Url: https://administrator.de/forum/verkettung-von-mehreren-vergleichen-mit-einem-undund-in-batch-189429.html

Ausgedruckt am: 05.05.2025 um 11:05 Uhr

bastla
bastla 10.08.2012 aktualisiert um 15:17:13 Uhr
Goto Top
Hallo FireEmerald!

Etwa so:
IF /i NOT "%ip2%"=="n" IF /i NOT "%ip3%"=="n" echo 3. IP address: %ip3%
Mehrere Adressen hintereinander kannst Du so verarbeiten (ist eigentlich die Ur-Version der "for"-Schleife):
for %%i in (123.123.123.123 123.123.123.123 123.123.123.123) do ping %%i
Grüße
bastla
FireEmerald
FireEmerald 10.08.2012 um 15:38:39 Uhr
Goto Top

Was die "for"-Schleif angeht sieht das zwar schön aus, aber wie bekommt man es hin, dass beliebig viele bzw. jedes mal unterschiedlich viele IP Adressen hintereinander geschrieben werden könnnen? Vor allem wie sieht das mit der Eingabezeile aus?
set /p ip:=
Wird ja kaum gehen...
bastla
bastla 10.08.2012 aktualisiert um 15:54:25 Uhr
Goto Top
Hallo FireEmerlad!
Natürlich kannst Du in einem Batch per Eingabe oder auch per Parameterübergabe mehrere IP-Adressen übergeben:
@echo off & setlocal
set /p ip=Bitte alle Adressen durch Leerzeichen oder Kommata getrennt eingeben: 
for %%i in (%ip%) do ping %%i
Mit Parameterübergabe sähe das so aus:
@echo off & setlocal
for %%i in (%*) do ping %%i
wobei der Aufruf dann (für die Batchdatei "pingen.cmd" so erfolgen müsste:
pingen 123.123.123.123 123.123.123.123 123.123.123.123
oder
pingen 123.123.123.123,123.123.123.123,123.123.123.123
Weitere Alternative: Alle IP zeilenweise in eine Textdatei ("D:\ip.txt") schreiben und
@echo off & setlocal
for /f "usebackq" %%i in ("D:\ip.txt") do ping %%i  
Grüße
bastla
FireEmerald
FireEmerald 10.08.2012, aktualisiert am 26.09.2013 um 09:36:33 Uhr
Goto Top
Hat soweit alles funktioniert, danke^^

MfG, FireEmerald
Mehr von FireEmeraldFireEmeraldHtop zeigt CPU Auslastung nicht korrektFireEmerald - 6 KommentareFireEmeraldSSD Secure Erase Status LockedFireEmeraldFireEmeraldExcel Formel - Zeilen eines Bereichs mit Zellenwerten definierenFireEmerald - 2 KommentareFireEmeraldHKEY CLASSES ROOT von anderem User bearbeitenFireEmerald - 4 Kommentare
Heiß diskutiert
MysticFoxDEWindows Server - Hotpatching - bald verfügbar - jedoch nicht umsonstMysticFoxDE - 30 Kommentareopc123Kostenloser Hypervisoropc123 - 29 KommentareAssassinServer 2025 HCI S2D Cluster mit aktuellen AMD Epyc?Assassin - 27 KommentareAbstrackterSystemimperatorWindows Key vom Recyclinghof nutzbar?AbstrackterSystemimperator - 22 Kommentarebloodstix2560x1080 Auflösung komischer Rand bei Spielenbloodstix - 22 KommentarejimmmyDer 100ste Versuch Fax mit VoIP zu vereinbarenjimmmy - 21 Kommentareb1nzy1NTP Problem - 0x800705B4 - funktioniert auf keinem Serverb1nzy1 - 18 KommentareKassiopeia86FRITZBox 7590 schaltet als Mesh-Repeater hinter FRITZBox 6860 5G die LAN-Ports zurück auf 100 MbitKassiopeia86 - 14 KommentareTwistedAirNetzwerkgeräte bei Ransomware - Austausch oder Reset?TwistedAir - 13 KommentarekreuzbergerMB pro min und MB pro s umrechnenkreuzberger - 12 Kommentareukulele-7Inplace Upgrade mit Eval-ISOukulele-7 - 11 Kommentarestoepsu77Fileserver Ordnerstruktur mit Berechtigungsgruppen für Userstoepsu77 - 11 KommentareMysticFoxDEEPA - CCC hebelt auch den "neuen" Schutz ausMysticFoxDE - 10 Kommentare