svenguenter
Goto Top

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

Content-Key: 78230

Url: https://administrator.de/contentid/78230

Printed on: April 19, 2024 at 17:04 o'clock

Member: SvenGuenter
SvenGuenter Jan 15, 2008 at 16:35:59 (UTC)
Goto Top
C:\DOKUME~1\Guenter>reg query "HKCU\Control Panel\International" /s

! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\Control Panel\International
iCountry REG_SZ 49
iCurrDigits REG_SZ 2
iCurrency REG_SZ 3
iDate REG_SZ 1
iDigits REG_SZ 2
iLZero REG_SZ 1
iMeasure REG_SZ 0
iNegCurr REG_SZ 8
iTime REG_SZ 1
iTLZero REG_SZ 1
Locale REG_SZ 00000407
s1159 REG_SZ
s2359 REG_SZ
sCountry REG_SZ Deutschland
sCurrency REG_SZ ?
sDate REG_SZ .
sDecimal REG_SZ ,
sLanguage REG_SZ DEU
sList REG_SZ ;
sLongDate REG_SZ dddd, d. MMMM yyyy
sShortDate REG_SZ dd.MM.yyyy
sThousand REG_SZ .
sTime REG_SZ :
sTimeFormat REG_SZ HH:mm:ss
iTimePrefix REG_SZ 0
sMonDecimalSep REG_SZ ,
sMonThousandSep REG_SZ .
iNegNumber REG_SZ 1
sNativeDigits REG_SZ 0123456789
NumShape REG_SZ 1
iCalendarType REG_SZ 1
iFirstDayOfWeek REG_SZ 0
iFirstWeekOfYear REG_SZ 2
sGrouping REG_SZ 3;0
sMonGrouping REG_SZ 3;0
sPositiveSign REG_SZ
sNegativeSign REG_SZ -

HKEY_CURRENT_USER\Control Panel\International\Geo
Nation REG_SZ 94

hat sich erledigt. Der Befehl oben liest ir die Regestry aus und die Variable sshortdate zeigt mir an welches Datumsformat genutzt wird. Damit komme ich dann weiter.

Gruß

Sven
Member: bastla
bastla Jan 15, 2008, updated at Oct 18, 2012 at 16:35:19 (UTC)
Goto Top
Hallo SvenGuenter!

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!  
eigentlich einfach an beide Sprachen anzupassen sein.

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]
Member: miniversum
miniversum Jan 15, 2008 at 17:05:36 (UTC)
Goto Top
Oder bei der ipconfig-Ausgabe nur nach "IP-Ad" suchen..
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!
)

miniversum
Member: Biber
Biber Jan 15, 2008 at 19:24:43 (UTC)
Goto Top
...und noch eine sprachunabhängige 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  
( Beispiel am CMD-Prompt)

Grüße
Biber
Member: miniversum
miniversum Jan 15, 2008 at 19:48:39 (UTC)
Goto Top
...und noch eine sprachunabhängige
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
> 
( 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:
for /f "delims= tokens=2" %%i in ('ping %computername% -n 1^|find /i "%computername%"') do echo %%i

miniversum
Member: Biber
Biber Jan 15, 2008 at 19:54:18 (UTC)
Goto Top
Jepp, danke @miniversum.

war mir nicht aufgefallen, weil auch mein Ping-Rückgabe-Computername in Grossbuchstaben zurückkommt.

Grüße
Biber