标题: [其他] 批处理拼音和五笔输入 [打印本页]
作者: batman 时间: 2009-10-13 21:05 标题: 批处理拼音和五笔输入
&&确实有段时间没在论坛出现过了,为大家带来一个无聊时写的一个小东东吧,
请将压缩包中的wbzk.txt与批解压在同一目录,输入编码时应最后以z字符结尾,
其中的五笔字库是从网上下载来的,自己稍做了下处理,肯定收录得不齐全,有
心的人再完善下吧,批也写得较仓促,要完善的地方很多,请大家先谅解了。
友情提示:最新版本的代码在6楼,字库在4楼下载,程序运行需要choice.exe的支持,本论坛有下载。
作者: zjhuzi 时间: 2009-10-14 08:13 标题: 回复 1楼 的帖子
问题反馈
[attach]1927[/attach]
作者: zjhuzi 时间: 2009-10-14 08:16 标题: 回复 2楼 的帖子
(注:本批运行需要choice.exe的支持,本论坛有下载)
哦,是我搞错了 抱歉!
作者: batman 时间: 2009-10-16 18:11 标题: 更新至拼音&五笔输入
更新提示:
1、加入拼音字库增加了拼音输入法,并更新了五笔字库(加入了常见词组);
2、加入了多选项输出及选择;
4、加入了默认输出设置,当选项唯一直接输出,多选项时加入默认输出判断;
5、加入了多选项大于95个时的倒序输出(便于选择常用选项);
6、加入了输入时的回退删除功能;
7、更新了报错提示。
下载:
http://pan.baidu.com/share/link?shareid=3895381237&uk=1124163200
作者: daxiang 时间: 2009-10-17 09:47
谢谢lz分享,下来试一下
作者: batman 时间: 2009-10-17 11:42 标题: 再次更新,贴出源码
更新提示:
1、更新了回退删除,对输出的字现在也能回退删除;
2、加入了输入法切换功能,可以随时切换输入法;
3、因论坛处理不了tab键,请将代码中的tab字符替换为实际的tab键。- @echo off&setlocal enabledelayedexpansion
-
- :::::::::::初始化变量:::::::::::
- title 拼音^&五笔输入- made by batman
- echo.&set /p=请选择输入法(五笔:w 拼音:p)<nul
- choice /n /c "wp"
- if "%errorlevel%" equ "1" (
- set "file=wbzk.txt"&set "kk=五笔"
- ) else (
- set "file=pyzk.txt"&set "kk=拼音"
- )
- for /l %%a in (0,1,9) do set /a n+=1&set ".!n!=%%a"
- set "code=a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1"&set /a n=0
- for %%a in (%code%) do set /a n+=1&set "_!n!=%%a"
- set /a n=0
- :::::::::::初始化变量:::::::::::
-
- :::::::::::输入法切换及编码输入:::::::::::
- :begin
- title %kk%输入- made by batman
- cls&echo.&echo 输出:%var%&echo.&echo.
- set /p=%wrong1%请正确输入%kk%,"1"切换输入法,"0"回退删除,"z"确认结尾:%str%<nul
- choice /n /c "%code: =%"
- if %errorlevel% gtr 26 (
- if %errorlevel% equ 28 (
- if %file% equ wbzk.txt (
- set "file=pyzk.txt"&set "kk=拼音"
- ) else (
- set "file=wbzk.txt"&set "kk=五笔"
- )
- ) else (
- if defined str (
- set "str=%str:~,-1%"
- ) else (
- if defined var set "var=%var:~,-1%"
- )
- set "wrong1="
- )
- goto begin
- )
- ) else (
- if %errorlevel% lss 26 set "flag=a"
- if not defined flag (
- set "str=%str%!_%errorlevel%!"&goto begin
- ) else (
- if %errorlevel% lss 26 set "str=%str%!_%errorlevel%!"&goto begin
- )
- )
- :::::::::::输入法切换及编码输入:::::::::::
-
- :::::::::::查找字库:::::::::::
- findstr /i "^%str%\>" %file%>nul 2>nul
- if %errorlevel% equ 0 (
- echo.
- for /f "tokens=2" %%a in ('findstr /i "^%str%\>" %file%') do set /a n+=1&set "#!n!=%%a"
- echo.
- ) else (
- set "wrong1=%kk%输入错误,"&set "str="&set "flag="&goto begin
- )
- if %n% equ 1 set "var=%var%%#1%"&goto next
- if %n% gtr 95 (
- set /a min=n,max=1,step=-1
- ) else (
- set /a min=1,max=n,step=1
- )
- :::::::::::查找字库:::::::::::
-
- :::::::::::选项输出及选择:::::::::::
- :lp
- cls&echo.&echo 输出:%var%&echo.&echo.
- set /p=%wrong1%请正确输入%kk%,,"1"切换输入法,"0"回退删除,"z"确认结尾:%str%<nul
- echo.&echo.
- for /l %%a in (%min%,%step%,%max%) do set /p=^(%%a^)tab!#%%a!tab<nul
- echo.&echo.
- set /p=%wrong2%请正确输入序号选择,以"z"确认结尾,输入"a"默认为序号^(1^)选项:%num%<nul
- choice /n /c "0123456789az"
- if %errorlevel% equ 11 set "var=%var%%#1%"&goto next
- if %errorlevel% neq 12 set "num=%num%!.%errorlevel%!"&goto lp
- if not defined #%num% set "wrong2=序号输入错误,"&set "num="&goto lp
- set "var=%var%!#%num%!"
- :::::::::::选项输出及选择:::::::::::
-
- :::::::::::清空变量再循环:::::::::::
- :next
- for %%a in (str num n flag wrong1 wrong2) do set "%%a="
- for /f "delims==" %%a in ('set #') do set "%%a="
- goto begin
- :::::::::::清空变量再循环:::::::::::
复制代码
作者: wwan 时间: 2009-10-17 21:45
写的好多啊 ,呵呵… 厉害 高手啊@
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |