Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Verkettung von mehreren Vergleichen mit einem UNDUND in Batch

Frage Entwicklung Batch & Shell

Mitglied: FireEmerald

FireEmerald (Level 1) - Jetzt verbinden

10.08.2012, aktualisiert 26.09.2013, 2753 Aufrufe, 4 Kommentare

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:
01.
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
Mitglied: bastla
10.08.2012, aktualisiert um 15:17 Uhr
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
Bitte warten ..
Mitglied: FireEmerald
10.08.2012 um 15:38 Uhr
Ja wie jetzt, du hast einfach die ganzen && weggelassen? Für was braucht man dann überhaupt das && bzw ||?

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?
01.
set /p ip:=
Wird ja kaum gehen...
Bitte warten ..
Mitglied: bastla
10.08.2012, aktualisiert um 15:54 Uhr
Hallo FireEmerlad!
Für was braucht man dann überhaupt das && bzw ||?
Um abhängig vom Errorlevel des vorigen Befehls eine weitere Anweisung auszuführen, wobei "&&" bei einem Errorlevel 0 und "||" für Errorlevel <> 0 verwendet wird - bei einem "if" ist ja die Entscheidung schon gefallen, wenn der Teil danach erreicht wird ...
Natürlich kannst Du in einem Batch per Eingabe oder auch per Parameterübergabe mehrere IP-Adressen übergeben:
01.
@echo off & setlocal 
02.
set /p ip=Bitte alle Adressen durch Leerzeichen oder Kommata getrennt eingeben:  
03.
for %%i in (%ip%) do ping %%i
Mit Parameterübergabe sähe das so aus:
01.
@echo off & setlocal 
02.
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
01.
@echo off & setlocal 
02.
for /f "usebackq" %%i in ("D:\ip.txt") do ping %%i
Grüße
bastla
Bitte warten ..
Mitglied: FireEmerald
10.08.2012, aktualisiert 26.09.2013
Hat soweit alles funktioniert, danke^^

MfG, FireEmerald
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel: Wert aus mehreren Zeilen vergleichen (2)

Frage von Nicolaas zum Thema Microsoft Office ...

Batch & Shell
gelöst Batch zum Vergleichen der Firefox-Version (2)

Frage von patrick93 zum Thema Batch & Shell ...

Batch & Shell
gelöst EQU - GLEICH - BATCH (8)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (50)

Frage von sabines zum Thema Internet ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
Windows 2016 Hyper-V und VHDS (15)

Frage von emeriks zum Thema Windows Server ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...