Weiteres Problem für meinen Batch. Spracheinstellung auslesen und Datum drehen!
Folgendes Problem. Mein Batch zum auslaesen wann sich wer an welchem Computer eingeloggt oder ausgeloggt hat mit angeba des Computernamens wie auch usernamens funktioniert.
Nun habe ich aber das Problem das einige Systeme Englisch installiert sind und andere in Deutsch.
Soll heißen das bei einigen das Merkmal IP_ADRESSE und bei anderen das Merkmal IP-ADDR greifen. Nur wie bekomme ich raus welche Sprache als System installiert ist?
Gruß
Sven
Nun habe ich aber das Problem das einige Systeme Englisch installiert sind und andere in Deutsch.
Soll heißen das bei einigen das Merkmal IP_ADRESSE und bei anderen das Merkmal IP-ADDR greifen. Nur wie bekomme ich raus welche Sprache als System installiert ist?
Gruß
Sven
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 78230
Url: https://administrator.de/contentid/78230
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo SvenGuenter!
Das Auslesen der IP-Adresse sollte mit
eigentlich einfach an beide Sprachen anzupassen sein.
Hinsichtlich des Datums: Siehe beschrieben, mit WMIC (sprachunabhängig, aber mind XP als Voraussetzung):
Grüße
bastla
[Edit] Was ich mir aber auch immer so viel Zeit lassen muss ... [/Edit]
Das Auslesen der IP-Adresse sollte mit
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP-Adresse IP-Address"') DO SET IP=%%i,!ip!
Hinsichtlich des Datums: Siehe beschrieben, mit WMIC (sprachunabhängig, aber mind XP als Voraussetzung):
for /f "skip=1 tokens=2-4 delims=," %%a in ('WMIC Path Win32_LocalTime Get Day^,Month^,Year /Format:csv') do set Tag=0%%a & set Monat=0%%b & set Jahr=%%c
set Tag=%Tag:~-2%
set Monat=%Monat:~-2%
Grüße
bastla
[Edit] Was ich mir aber auch immer so viel Zeit lassen muss ... [/Edit]
Oder bei der ipconfig-Ausgabe nur nach "IP-Ad" suchen..
miniversum
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP-Ad"') DO SET IP=%%i,!ip!
oder wenns explizit sein soll:ipconfig|FIND "Verbindungsspezifisches" 1>NUL
if [%errorlevel%] equ (
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP-Adresse"') DO SET IP=%%i,!ip!
) else (
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP-Address"') DO SET IP=%%i,!ip!
)
if [%errorlevel%] equ (
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP-Adresse"') DO SET IP=%%i,!ip!
) else (
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP-Address"') DO SET IP=%%i,!ip!
)
miniversum
...und noch eine sprachunabhängige
Variante zur Ermittlung der IP-Adresse, mal
mit Ping zur Abwechslung:
( Beispiel am CMD-Prompt)
Grüße
Biber
Bei mir gehts nur wenn ich ein /i beim find ranhänge, weil das Ping den Computernamen nur in Kleinbuchstaben anzeigt, auch wenn Großbuchstaben drin stehen. Also so:Variante zur Ermittlung der IP-Adresse, mal
mit Ping zur Abwechslung:
for /f "delims=
> tokens=2" %i in ('ping
> %computername% -n 1^|find
> "%computername%"') do @echo
> %i
>
Grüße
Biber
for /f "delims= tokens=2" %%i in ('ping %computername% -n 1^|find /i "%computername%"') do echo %%i
miniversum
Jepp, danke @miniversum.
war mir nicht aufgefallen, weil auch mein Ping-Rückgabe-Computername in Grossbuchstaben zurückkommt.
Grüße
Biber
war mir nicht aufgefallen, weil auch mein Ping-Rückgabe-Computername in Grossbuchstaben zurückkommt.
Grüße
Biber