derbayer 10 Geschrieben 14. Dezember 2010 Melden Teilen 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 Zitieren Link zu diesem Kommentar
NilsK 2.918 Geschrieben 14. Dezember 2010 Melden Teilen 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 Zitieren Link zu diesem Kommentar
derbayer 10 Geschrieben 15. Dezember 2010 Autor Melden Teilen 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 Zitieren Link zu diesem Kommentar
NilsK 2.918 Geschrieben 15. Dezember 2010 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.