derbayer 10 Geschrieben 14. Dezember 2010 Melden Geschrieben 14. Dezember 2010 IP Auswertung und Bearbeitung wenn das 3 Oktett eine gewissen wert hat leider bekomme ich bei folgenden script einen Syntaxfehler und ich stehe auf dem schlach .... ;-( @ECHO OFF for /F "delims=. tokens=15" %%i in ('ipconfig^|find "IP-Ad"') IF %%i == 203 GOTO :Berlin IF %%i == 170 GOTO :Muenchen GOTO :Rest :Berlin ECHO BERLIN !!! GOTO :ENDE :Muenchen ECHO München !!! GOTO :ENDE :Rest ECHO du bis raus GOTO :ENDE :ENDE PAUSE
NilsK 3.050 Geschrieben 14. Dezember 2010 Melden Geschrieben 14. Dezember 2010 Moin, die FOR-Syntax ist falsch. FOR definiert eine Schleife, du hörst aber nach der Bedingung auf. Versuch mal: for /F "delims=. tokens=15" %%i in ('ipconfig^|find "IP-Ad"') DO SET Oktett=%%i Dann danach die Variable %Oktett% benutzen. Und lass beim IF mal die Leerzeichen um die == weg. Und beim Goto das :. Besser als ipconfig wäre ein Ping auf den Computernamen geeignet, weil du sonst Probleme kriegst, wenn der Rechner mehrere NICs (auch virtuelle) hat. Die Zeichenkette "IP-Ad" taucht ab Vista auch nicht mehr auf , und die Zahl der Punkte ist dort anders ... [faq-o-matic.net » Domänencontroller-Daten im Batch verwenden] http://www.faq-o-matic.net/2010/06/09/domnencontroller-daten-im-batch-verwenden/ Gruß, Nils
derbayer 10 Geschrieben 15. Dezember 2010 Autor Melden Geschrieben 15. Dezember 2010 hi, super so Funktioniert es und ich habe auch gleich was dazu gelernt !!! Die Idee mit einem Ping hört sich aufjeden fall sinvoller an und es muss wegen Win7 auch "ping %COMPUTERNAME% -4" benutzt werden for /f "Tokens=2 Delims=[] skip=1" %%i in ('ping -n 1 %COMPUTERNAME% -4') do (set Oktett=%%i) nur wie kann ich jetzt das Oktett noch Auswählen ? eine verständins frage wie so soll ich das so machen bzw. es Funktioniert so nicht IF %%i 203 GOTO Berlin und nicht so ? IF %%i == 203 GOTO :Berlin
NilsK 3.050 Geschrieben 15. Dezember 2010 Melden Geschrieben 15. Dezember 2010 Moin, ich würde zwei FOR-Schleifen schachteln, um die beiden Ausgaben auseinanderzudröseln (IP-Adresse aus Ping-Antwort und Oktett aus IP-Adresse). Das dürfte am wenigsten Probleme mit dem Format erzeugen. Beispiel: for /f "Tokens=2 Delims=[] skip=1" %i in ('ping -n 1 %computername% -4') do (for /f "tokens=2 delims=." %j in ('echo %i') do set Oktett=%j) Und für die Auswertung: IF "%Oktett%"=="203" GOTO Berlin Gruß, Nils
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden