Computername aus .ini lesen
Ziel ist es vor dem Login bei Windows XP ein Skript zu haben, das die eigene IP-Adresse auslist, auf eine .ini Datei Zugreift, die eigene IP-Adresse sucht und dann den dazugehörigen Computernamen ausliest und in eine Variable Speichert.
Ziel ist es vor dem Login bei Windows XP ein Skript zu haben, das die eigene IP-Adresse auslist, auf eine .ini Datei Zugreift, die eigene IP-Adresse sucht und dann den dazugehörigen Computernamen ausliest und in eine Variable Speichert.
Aufabu der *.ini Datei:
192.168.2.201=Arbeitsp1Raum1
192.168.2.202=Arbeitsp2Raum1
192.168.2.203=Arbeitsp3Raum1
bisher habe ich es nur geschaft die IP-Adresse auszulesen und das so:
for /F "tokens=13,*" %i in ('ipconfig^|find "IP-Ad"') do set IP=%j
Kann mir jemand helfen? Wie ich auf die Datei zugreife prüfe wo die IP-Adressen gleich sind und dort den Computername in eine Variable speichere?
Mfg
Aufabu der *.ini Datei:
192.168.2.201=Arbeitsp1Raum1
192.168.2.202=Arbeitsp2Raum1
192.168.2.203=Arbeitsp3Raum1
bisher habe ich es nur geschaft die IP-Adresse auszulesen und das so:
for /F "tokens=13,*" %i in ('ipconfig^|find "IP-Ad"') do set IP=%j
Kann mir jemand helfen? Wie ich auf die Datei zugreife prüfe wo die IP-Adressen gleich sind und dort den Computername in eine Variable speichere?
Mfg
Please also mark the comments that contributed to the solution of the article
Content-Key: 116885
Url: https://administrator.de/contentid/116885
Printed on: April 26, 2024 at 14:04 o'clock
5 Comments
Latest comment
Moin sweetstar,
willkommen im Forum.
Wenn ich mir die 4 Zeilen oben in eine "Aufabu.ini"-Datei kopiere und es am CMD-Prompt teste, dann wäre eine Skizze:
Die erste Zeile setzt nur einen IP-Wert (den, den Du aus der IPConfig-Ausgabe ermittelst
Die 2. Zeile ermittelt die "richtige" Zeile in der .ini-Datei
Zeile 3 würde aus dieser Zeile den zweiten Token (siehe Hilfe von FOR/F ->FOR/?) separieren.
Grüße
Biber
willkommen im Forum.
Wenn ich mir die 4 Zeilen oben in eine "Aufabu.ini"-Datei kopiere und es am CMD-Prompt teste, dann wäre eine Skizze:
>set "theIP=192.168.2.203"
>findstr "%theIP%" aufabu.ini
192.168.2.203=Arbeitsp3Raum1
>for /f "delims== tokens=2" %i in ('findstr "%theIP%" aufabu.ini') do @echo TheComputer:[%i]
TheComputer:[Arbeitsp3Raum1]
Die 2. Zeile ermittelt die "richtige" Zeile in der .ini-Datei
Zeile 3 würde aus dieser Zeile den zweiten Token (siehe Hilfe von FOR/F ->FOR/?) separieren.
Grüße
Biber
Moin sweetstar,
die Prozentzeichen vor den dynamischen Variablen [ die der FOR-Anweisungen, z.B. %i, %j...] müssen im Batch verdoppelt werden.
Beispiel:
CMD-Prompt
im Batch:
Siehe Hilfe bei CMD /? oder FOR /?
Grüße
Biber
die Prozentzeichen vor den dynamischen Variablen [ die der FOR-Anweisungen, z.B. %i, %j...] müssen im Batch verdoppelt werden.
Beispiel:
CMD-Prompt
FOR /F "tokens=13,*" %i IN ('ipconfig^|find "IP-Ad"') DO SET "IP=%j"
FOR /F "tokens=13,*" %%i IN ('ipconfig^|find "IP-Ad"') DO SET "IP=%%j"
Siehe Hilfe bei CMD /? oder FOR /?
Grüße
Biber