怎么用脚本获取系统区域设置

wen 实用脚本 2

本文目录导读:

怎么用脚本获取系统区域设置

  1. 1. Windows (PowerShell)
  2. 2. Linux/macOS (Bash)
  3. 3. Python (跨平台)
  4. 4. Node.js (JavaScript)
  5. 5. Windows (CMD/Batch)
  6. 实用示例 - 自动检测并输出格式

Windows (PowerShell)

# 获取当前用户区域设置
Get-Culture | Select-Object Name, DisplayName, LCID
# 获取系统区域设置
Get-WinSystemLocale | Select-Object Name, DisplayName
# 获取所有区域信息
[System.Globalization.CultureInfo]::CurrentCulture.Name
[System.Globalization.CultureInfo]::CurrentUICulture.Name
# 获取区域代码 (如 zh-CN)
$locale = Get-Culture
Write-Output "Locale: $($locale.Name)"

Linux/macOS (Bash)

# 获取当前区域设置
echo $LANG
echo $LC_ALL
# 显示所有区域相关变量
locale
# 获取特定信息
locale | grep LANG
locale | grep LC_TIME
# 获取系统默认区域
localectl status
# 只获取语言代码
echo ${LANG%%_*}

Python (跨平台)

import locale
# 获取默认区域设置
default_locale = locale.getdefaultlocale()
print(f"Default locale: {default_locale}")
# 获取当前区域
current_locale = locale.getlocale()
print(f"Current locale: {current_locale}")
# 获取编码
encoding = locale.getpreferredencoding()
print(f"Preferred encoding: {encoding}")
# 设置区域并获取
locale.setlocale(locale.LC_ALL, '')
print(locale.getlocale())

Node.js (JavaScript)

const os = require('os');
// 获取系统区域
const locale = os.userInfo().lang || process.env.LANG;
console.log('System locale:', locale);
// 使用Intl API
const systemLocale = Intl.DateTimeFormat().resolvedOptions().locale;
console.log('System locale:', systemLocale);
// 获取所有区域信息
const locales = new Intl.Locale(systemLocale);
console.log('Language:', locales.language);
console.log('Region:', locales.region);
console.log('Script:', locales.script);

Windows (CMD/Batch)

@echo off
:: 获取当前区域代码
reg query "HKEY_CURRENT_USER\Control Panel\International" /v LocaleName
:: 显示区域名称
echo %LOCALE_NAME%
:: 使用系统变量
echo %LANG%

实用示例 - 自动检测并输出格式

跨平台脚本 (Python)

import platform
import locale
def get_system_locale():
    system = platform.system()
    if system == "Windows":
        import ctypes
        windll = ctypes.windll.kernel32
        locale_name = ctypes.create_unicode_buffer(100)
        windll.GetUserDefaultLocaleName(locale_name, 100)
        return locale_name.value
    elif system == "Linux":
        return locale.getdefaultlocale()[0]
    elif system == "Darwin":  # macOS
        import subprocess
        result = subprocess.run(['defaults', 'read', '-g', 'AppleLocale'],
                              capture_output=True, text=True)
        return result.stdout.strip()
print(f"System locale: {get_system_locale()}")

选择哪种方法取决于你的操作系统和脚本环境,PowerShell适合Windows,Bash适合Linux/macOS,Python适合跨平台需求。

抱歉,评论功能暂时关闭!