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

Ausgedruckt am: 29.03.2024 um 01:03 Uhr

Mitglied: einfachBernd
einfachBernd 31.01.2013 um 11:49:02 Uhr
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
Mitglied: colinardo
colinardo 31.01.2013 um 12:13:28 Uhr
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
Mitglied: einfachBernd
einfachBernd 31.01.2013 um 12:57:16 Uhr
Goto Top
Hi Uwe,

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

Muss des weiteren die Info gescriptet haben.

LG
Mitglied: bastla
bastla 31.01.2013 um 17:19:13 Uhr
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
Mitglied: einfachBernd
einfachBernd 31.01.2013 aktualisiert um 19:37:49 Uhr
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