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!

Recommended Posts

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 to comment

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 to comment
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 to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...