Advertisement
9usdfu98ds

Set time region language.bat

Nov 19th, 2022
2,121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @echo off
  2. (NET FILE||(PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Start-Process -FilePath '%0' -Verb RunAs")&(NET FILE||exit)) >nul 2>&1
  3. CD /D "%temp%"
  4.  
  5. :: Set time and region
  6. ::  Keyboard   : https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-input-locales-for-windows-language-packs?view=windows-10
  7. ::  Geo ID     : https://docs.microsoft.com/en-us/windows/win32/intl/table-of-geographical-locations
  8. ::  Timezone   : https://ss64.com/nt/timezones.html
  9. ::  Timeformat : 24h | 12h | default
  10. :: ---------------------------- ::
  11. set PSLanguage=en-CA
  12. set PSKeyboard=1009:00000409
  13. set PSRegion=en-CA
  14. set PSGeoID=39
  15. set PSSystemLocale=en-CA
  16. set Timezone=Central Standard Time
  17. set Timeformat=default
  18. :: ---------------------------- ::
  19. PowerShell -NoProfile -Command "$UserLanguageList = New-WinUserLanguageList -Language '%PSLanguage%'; $UserLanguageList[0].InputMethodTips.Clear(); $UserLanguageList[0].InputMethodTips.Add('%PSKeyboard%'); Set-WinUserLanguageList -LanguageList $UserLanguageList -Force; Set-Culture -CultureInfo %PSRegion%; Set-WinCultureFromLanguageListOptOut -OptOut $True; Set-WinDefaultInputMethodOverride -InputTip '%PSKeyboard%'; Set-WinHomeLocation -GeoId %PSGeoID%; Set-WinSystemLocale -SystemLocale %PSSystemLocale%; Set-WinUILanguageOverride -Language %PSLanguage%"
  20. REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "IgnoreRemoteKeyboardLayout" /t REG_DWORD /d "1" /f
  21. REG ADD "HKEY_CURRENT_USER\Keyboard Layout\Toggle" /v "Language Hotkey" /t REG_SZ /d "3" /f
  22. REG ADD "HKEY_CURRENT_USER\Keyboard Layout\Toggle" /v "Hotkey" /t REG_SZ /d "3" /f
  23. REG ADD "HKEY_CURRENT_USER\Keyboard Layout\Toggle" /v "Layout Hotkey" /t REG_SZ /d "3" /f
  24. TZUTIL /s "%Timezone%"
  25. if /I "%Timeformat%"=="24h" (
  26.     REG ADD "HKEY_CURRENT_USER\Control Panel\International" /v "iTime" /t REG_SZ /d "1" /f
  27.     REG ADD "HKEY_CURRENT_USER\Control Panel\International" /v "sTime" /t REG_SZ /d ":" /f
  28.     REG ADD "HKEY_CURRENT_USER\Control Panel\International" /v "sTimeFormat" /t REG_SZ /d "H:mm:ss" /f
  29.     REG ADD "HKEY_CURRENT_USER\Control Panel\International" /v "sShortTime" /t REG_SZ /d "H:mm" /f
  30. )
  31. if /I "%Timeformat%"=="12h" (
  32.     REG ADD "HKEY_CURRENT_USER\Control Panel\International" /v "iTime" /t REG_SZ /d "0" /f
  33.     REG ADD "HKEY_CURRENT_USER\Control Panel\International" /v "sTime" /t REG_SZ /d ":" /f
  34.     REG ADD "HKEY_CURRENT_USER\Control Panel\International" /v "sTimeFormat" /t REG_SZ /d "h:mm:ss tt" /f
  35.     REG ADD "HKEY_CURRENT_USER\Control Panel\International" /v "sShortTime" /t REG_SZ /d "h:mm tt" /f
  36. )
  37. echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>>WelcomeScreenAndNewAccounts.xml
  38. rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,/f:"WelcomeScreenAndNewAccounts.xml"
  39. del /Q WelcomeScreenAndNewAccounts.xml
  40.  
  41. CHOICE /C yn /N /M "You need to logoff and then logon again for the changes to take effect. Logoff now (Y/N)? "
  42. if %ERRORLEVEL% EQU 1 shutdown -l
  43. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement