einfachbernd
Goto Top

Windows 7 Sprache auslesen?

Hi,

kann mir bitte wer schreiben wie ich in Windows 7 die Sprache per Script auslesen kann?

Für mich ist nur die Sprache interessant die als Standard eingerichtet ist.
Beispiel: Windows 7 Englisch + deutsches MUI, Standard ist Deutsch, dann sollte es mir Deutsch ausgeben.

reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language" | findstr /i "Default" > "%~dp0tmp.txt"  
for /f "usebackq tokens=1,2,3* delims= " %%a in ("%~dp0tmp.txt") do (   
 for /f "tokens=1,2,3,4,* delims=;" %%h in ('find /i "%%c" "%~dp0NLS.csv"') do ( if not errorlevel 1 ( echo "%%k" - "%%l" )   
 )
)

Inhalt aus NSL.csv
0x0407;de-DE;German (Germany);German;Deutsch (Deutschland)
0x0409;en-US;English (United States);English;English (United States)

Problem: Es wird bei mir z.b. Englisch angezeigt da im REG KEY 0409 drinnen steht wobei das Windows Deutsch eingestellt ist.

Bitte um eure Hilfe face-smile

Content-Key: 201065

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

Printed on: April 26, 2024 at 11:04 o'clock

Member: einfachBernd
einfachBernd Jan 31, 2013 at 10:49:02 (UTC)
Goto Top
Auf Fragen wieso ich die Zeile
 reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language" | findstr /i "Default" > "%~dp0tmp.txt"    
nicht in eine For-Schleife gegeben habe, weil das Pipe dann nicht genommen wird.

LG
Member: colinardo
colinardo Jan 31, 2013 at 11:13:28 (UTC)
Goto Top
Das kommt wahrscheinlich daher das die Willkommensseite etc. von Windows 7 noch auf Englisch eingestellt ist. Dies kannst du ja in der Systemsteuerung unter "Region und Sprache" auf dem Tab Verwaltung ändern (Einstellungen kopieren). Prüfe was dort unter "Neue Benutzerkonten" angezeigt wird.

Grüße Uwe
Member: einfachBernd
einfachBernd Jan 31, 2013 at 11:57:16 (UTC)
Goto Top
Hi Uwe,

danke aber im Bereich Region -> Sprache steht deutsch drinnen.

Muss des weiteren die Info gescriptet haben.

LG
Member: bastla
bastla Jan 31, 2013 at 16:19:13 (UTC)
Goto Top
Hallo einfachBernd!
weil das Pipe dann nicht genommen wird.
... was sich mit einem vorangestellten Caret (^) leicht ändern ließe:
for /f "tokens=1-3*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language"^|findstr /i "Default"') do for /f "tokens=1-4* delims=;" %%h in ('findstr /i "%%c" "%~dp0NLS.csv"') do echo "%%k" - "%%l"
Grüße
bastla
Member: einfachBernd
einfachBernd Jan 31, 2013 updated at 18:37:49 (UTC)
Goto Top
lol so einfach kanns manchmal sein ;) danke an bastla

leider habe ich festgestellt dass mein Ansatz nicht zur Lösung führt.

Wenn als BSP englisches Windows mit deutscher MUI dann wird immer das englische als Default drinnen stehen.


mit den Befehl .. man eigtl was ich brauche lol
 wmic os get muilanguages, oslanguage