Batch-Script zum ändern der Spracheinstellungen

  • Antworten:1
HansDampf
  • Forum-Beiträge: 9

06.08.2014, 14:17:56 via Website

Hallo,

ich habe ein kleines Problem, und zwar erkennt ein Programm von mir die Ländereinstellungen nicht (z.B. Datum). Ich möchte jetzt ein Batch-Script schreiben, mit dem ich die Ländereinstellungen bei Windows ändern kann.

Ungefährer Pseudocode:

wenn (Sprachformat = "Deutsch-Deutschland") dann
         setzte auf "Englisch-USA"
sonst
        wenn  (Sprachformat = "Englisch-USA") dann
                setzte auf "Deutsch-Deutschland"
        ende wenn
ende wenn

So weit bin ich noch selber gekommen:

RegOp.txt:

[RegionalSettings]
Language = 0407
LanguageGroup = 0407, 0409
SystemLocale = 0407
UserLocale = 0407
InputLocale = 0407:00000407, 0409:00000409
UserLocale_DefaultUser = 0407
InputLocale_DefaultUser = 0407:00000407

Language.bat:

@echo off
rundll32.exe shell32,Control_RunDLL intl.cpl,,/f:"C:\Users\???\Desktop\RegOp"

??? dient dem Datenschutz

Vielen Dank schon mal im Voraus :)

— geändert am 06.08.2014, 14:19:48

Antworten
HansDampf
  • Forum-Beiträge: 9

07.08.2014, 08:55:29 via Website

Habe jetzt nach langem Suchen eine Lösung gefunden:

ChangeLanguage.bat:

@echo off
control intl.cpl,, /f:"C:\Users\???\Desktop\XMLUS.xml"
echo Spracheinstellungen auf Englisch gesetzt/ Language properties set to English
pause
@echo off
control intl.cpl,, /f:"C:\Users\???\Desktop\XMLDE.xml"
echo Spracheinstellungen auf Deutsch gesetzt/ Language properties set to German
pause

XMLDE.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">



 <!--User List-->

 <gs:UserList>

 <gs:User UserID="Current"/>

 </gs:UserList>



 <!--User Locale-->

 <gs:UserLocale> 

 <gs:Locale Name="de-DE" SetAsCurrent="true"/> 

 </gs:UserLocale>



</gs:GlobalizationServices>

XMLUS.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">



 <!--User List-->

 <gs:UserList>

 <gs:User UserID="Current"/>

 </gs:UserList>



 <!--User Locale-->

 <gs:UserLocale> 

 <gs:Locale Name="en-US" SetAsCurrent="true"/> 

 </gs:UserLocale>



</gs:GlobalizationServices>

Die ??? dienen dem Datenschutz, Pfade sind selbstverständlich anzupassen!!!!

Beschreibung:

Setzt erst die Ländereinstellungen auf Deutsch, wartet dann auf Tastendruck, setzt dann die Ländereinstellungen auf Englisch und wartet wieder auf einen Tastendruck. Beendet sich anschließend.

— geändert am 07.08.2014, 09:03:05

Antworten