You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下整合添加/移除输入语言的单批处理脚本实现求助

整合乌克兰语输入法添加/移除脚本的实现方案

之前使用两个独立批处理脚本分别实现添加、移除乌克兰语输入法的功能,但分开操作不便。尝试通过ChatGPT整合为一个能自动判断当前状态并切换的脚本,但方案均无效,以下是可行的实现思路与完整脚本:

整合后的完整脚本

@echo off
setlocal enabledelayedexpansion

:: 检测当前用户语言列表是否包含乌克兰语(uk-UA)
powershell -Command "$langList = Get-WinUserLanguageList; exit ($langList.LanguageTag -contains 'uk-UA') ? 0 : 1"

:: 根据检测结果执行对应操作
if %errorlevel% equ 0 (
    :: 移除乌克兰语输入法
    powershell -Command "Set-WinUILanguageOverride -Language en-US; Set-WinUserLanguageList -LanguageList en-US -Force"
    echo 乌克兰语输入法已成功移除
) else (
    :: 添加乌克兰语输入法
    powershell -Command "Set-WinUILanguageOverride -Language uk-UA; Set-WinUserLanguageList -LanguageList uk-UA,en-US -Force"
    echo 乌克兰语输入法已成功添加
)

:: 刷新系统输入法布局
RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters

pause
endlocal

核心实现逻辑

  • 状态检测:通过PowerShell的Get-WinUserLanguageList获取当前用户的语言列表,判断是否包含uk-UA标签,用返回值(0表示存在,1表示不存在)传递给批处理的errorlevel变量
  • 条件分支:批处理根据errorlevel的值自动选择执行添加或移除操作,核心命令与原脚本保持一致,确保功能有效性
  • 即时生效:执行完语言列表修改后,调用系统API刷新用户参数,让输入法变更立即生效

内容的提问来源于stack exchange,提问作者evgsrch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 19:29:59