返回列表 发帖

[系统增强] 批处理更改输入法顺序(调用IMEtool使立即生效)

使用了第三方工具IMETOOL(一种输入法设置工具),附件中包含此工具。
更新历史:
  2009-02-05 自动搜索 ID 号对应的输入法名称,优化代码结构。
@echo off
set IME_K="HKEY_CURRENT_USER\Keyboard Layout\preload"
set "IME_T=HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts"
setlocal enableDelayedExpansion
:begin
cls
set n=
echo 原输入法顺序
for /f "skip=2 tokens=3" %%i in ('reg query %IME_K%') do (
 set/a n+=1
 set ord=!ord!!n!
 set "ime!n!=%%i"
 call :IME_TEXT "%%i" "%IME_T%"
 set "ime_name!n!=!%%i!"
 echo !n!:[!%%i!]
)
echo+
set/p ime_ord=输入新顺序,如(2 1 3):
set ime_ord=%ime_ord: =%
if #%ime_ord%==# goto wrong
echo %ime_ord%|findstr "[^1-%n%]">nul&&goto wrong
:lp
if not defined new%ime_ord:~,1% set new_ord=%new_ord%%ime_ord:~,1%
set "new%ime_ord:~,1%=1"&set "ime_ord=%ime_ord:~1%"
if defined ime_ord goto lp
for /l %%k in (1 1 %n%) do (
 call :cut !new_ord:~-%%k,1!
)
set new_ord=%new_ord%%ord%
echo 有效输入为[%new_ord%]
for /l %%e in (1 1 %n%) do (
 set Nord=!new_ord:~-%%e,1! !Nord!
)
for %%n in (%Nord%) do (
 set/a b+=1
 set ime_!b!=!ime%%n!
 echo !b!:[!ime_name%%n!]
 imetool /move3:!ime%%n!,!b!
)
echo+
echo 更改完成。按任意键退出……
endlocal
pause>nul
goto :eof
:wrong
 echo 输入错误,请重新输入
 ping -n 2 127.1>nul
 goto :begin
:cut
 set ord=!ord:%1=!
 goto :eof
:IME_TEXT
 for /f "skip=3 tokens=3*" %%n in ('reg query "%~2\%~1" /v "Layout Text"') do (
  set "%~1=%%o"
 )
 goto :eofCOPY
链接: https://pan.baidu.com/s/1FDG6yu1EUJoOMzQQWXUN6w 提取码: vnnz
2

评分人数

好像没什么用呀!
本人已死!不用联系!~
要联系下来联系!~~

TOP

支持原创!

TOP

建议在顶楼声明:使用了第三方命令行工具imetool
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回 4 楼

昨日发帖匆忙忘记说了。已更正。

TOP

wxcut兄居然用那么垃圾的极品五笔?
赶紧用极点五笔吧
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

还是王码五笔好,用了若干年了,常自已定义输入法,码表都快背下来了

TOP

回 6 楼

极品五笔垃圾吗?

因为是使用传统码表的内置输入法,对游戏支持比较好,在游戏下开启不会出现死机的情况。
虽然现在不玩游戏了,但因为习惯了用她,所以就沿用到现在了。而且功能也很全阿,看图。
像七楼一样,我的输入法码表中也有好多自定义词组。^_^

TOP

回复 1# wxcute


找到帖子了,学习一下

TOP

返回列表