Jump to content

Mit Batch Datei IP Adresse zuweisen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

hi!

 

FOR /F "eol= tokens=1" %%i in (C:\file.txt) do

 

wenn du zeilenweise ausliest...und hier ein space das ende der zeile kennzeichnet..kannst du natürlich ändern

in %%i steht dann dein "was auch immer"

 

weitere parameter:

skip=7 überstringen

tokens=1,2,3 kannst auch mehrere variablen auslesen..

delims=\. ..die durch dieses trennzeichen im textfile getrennt sind

 

hoff das hilft

lg

Link zu diesem Kommentar

Hi, ich habe einen Teil meiner Lösung einmal gepostet und hätte gerne von euch gewußt, ob das so funktioniert.

Was ich damit bezwecken will: In zwei verschiedenen Dateien stehen die Werte für eine IP Adresse und eine Subnetmask. Ich möchte mit hilfe einer Batch Datei deren Inhalt auslesen und vergleichen. Steht in der ersten Datei der Anfang der richtigen IP Adresse möchte ich testen ob in der zweiten Datei die richtige Subnetmask steht. Trifft dies zu sollen die Einstellungen der Netzwerkkarte geändert werden.

 

for /f %%a in (%systemroot%\%DATEI2%) do IF "169.254"=="%%a" do for /f %%b in (%systemroot%\%DATEI3%) do IF "255.255.0.0"=="%%b" do netsh interface ip set address name = "%NAME%" source = static addr = %IP% mask = %MASK%

 

for /f %%c in (%systemroot%\%DATEI2%) do IF "169.254"=="%%c" do for /f %%d in (%systemroot%\%DATEI3%) do IF "255.255.0.0"=="%%d" do netsh interface ip set address name = "%NAME%" gateway = %GATEWAY% gwmetric = 1

 

for /f %%e in (%systemroot%\%DATEI2%) do IF "169.254"=="%%e" do for /f %%f in (%systemroot%\%DATEI3%) do IF "255.255.0.0"=="%%f" do netsh interface ip set dns name = "%NAME%" source = static addr = %DNS%

 

for /f %%g in (%systemroot%\%DATEI2%) do IF "169.254"=="%%g" do for /f %%h in (%systemroot%\%DATEI3%) do IF "255.255.0.0"=="%%h" do netsh interface ip set wins name = "%NAME%" source = static addr = %WINS%

 

 

Ich hoffe ihr könnt trotz der ganzen variablen nachvollziehen was ich meine. Bei allen Zeilen sollen beide Text Dateien überprüft werden. In der ersten Zeile wird bei einer Übereinstimmung die IP Adresse und Subnetmask-, in der zweiten das Gateway-, in der dritten die IP für den DNS Server und in der vierten die Einstellungen für den WINS Server vorgenommen. (leider sind die Zeilen so lang das immer zwei Zeilen hier im Board einer Zeile im Batch Script )

Link zu diesem Kommentar
rem IP-Adresse auslesen und auf die ersten 7 Stellen kürzen
set IPADDR=xxx.xxx.xxx.xxx
for /f %%a in (%systemroot%\%DATEI2%) do set IPADDR=%%a
set IPADDR=%IPADDR:~0,7%

rem IP-Maske auslesen
set IPMASK=xxx.xxx.xxx.xxx
for /f %%a in (%systemroot%\%DATEI3%) do set IPMASK=%%a

rem Abfrage
if "%IPADDR%" == "169.254" (
  if "%IPMASK%" == "255.255.0.0" (
     netsh interface ip set address name = "%NAME%" source = static addr = %IP% mask = %MASK%
     netsh interface ip set address name = "%NAME%" gateway = %GATEWAY% gwmetric = 1
     netsh interface ip set dns name = "%NAME%" source = static addr = %DNS%
     netsh interface ip set wins name = "%NAME%" source = static addr = %WINS%
  )
)

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...