标题: [原创]批处理在线查单词
[打印本页]
作者: 无奈何
时间: 2007-1-4 00:47
标题: [原创]批处理在线查单词
昨天写完的东西,忘发了。功能简单在线查单词,数据来自金山词霸。
需要 wget 或 curl 支持,如果需要朗读功能的话需要 mplayer 支持。
用法:dict word ...
/F 完全模式查询单词。
word 可指定多个单词。
支持单词朗读功能。
所需软件链接:
mplayer:
http://www.mplayerhq.hu
wget :
http://users.ugent.be/~bpuype/wget/
或 curl:
http://curl.haxx.se/
- :::::::::::::::::::::::::::::::::::::::::::::::::
- :: dict.cmd -V0.1 -- 批处理在线查单词
- :: 无奈何@cn-dos.net - 2007-1-2
- :: 用法:dict word ...
- :: 支持文件: - mplayer.exe wget.exe or curl.exe
- :::::::::::::::::::::::::::::::::::::::::::::::::
- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- set mp3file="%TEMP%\dict.mp3"
- rem 依赖文件检查
- :mplay
- call mplayer >nul 2>nul
- if "%ERRORLEVEL%" == "1" set nomplay=1
- :wget
- wget.exe >nul 2>nul
- if not "%ERRORLEVEL%" == "9009" (
- set "command1=wget -q -O - "
- set "command2=wget -q -O %mp3file%"
- goto star
- )
- :curl
- curl.exe >nul 2>nul
- if not "%ERRORLEVEL%" == "9009" (
- set "command1=curl -s "
- set "command2=curl -s -o %mp3file%"
- goto star
- )
- echo.本脚本需要 wget 或 curl 的支持。
- goto :EOF
- :star
- set flag=0
- if "%~1" == "" goto help
- if "%~1" == "?" goto help
- if "%~1" == "/?" goto help
- if "%~1" == "/F" shift &goto full
- if "%~1" == "/f" shift &goto full
- :next
- if "%~1" == "" goto :EOF
- set "word=%~1"
- call :down
- shift
- goto :next
- :full
- if "%~1" == "" goto :EOF
- set mp3=
- del %mp3file% 2>nul
- set "word=%~1"
- call :down
- %command2% "%mp3%"
- echo.--------------------------------
- if "%mp3%" == "" echo.查看详解 退出 &goto :Nselect
- echo.朗读 查看详解 退出
- :Nselect
- set select=
- set /p select=请选择:
- call :Parse
- if "%quit%" == "1" goto :EOF
- shift
- goto :full
- :Parse
- for %%s in (R r F f A a) do if "%%s" == "%select%" goto Switch%select%
- goto :EOF
- :SwitchR
- if "%nomplay%" == "1" echo. 播放影音需要 mplayer 支持。&goto :Nselect
- start /min %ComSpec% /c "mplayer %mp3file%>nul"
- goto :Nselect
- goto :EOF
- :SwitchF
- start http://www.iciba.com/search?s=%word%
- goto :Nselect
- goto :EOF
- :SwitchA
- set quit=1
- goto :EOF
- :down
- set url="http://dict.cn/ws.php?q=%word%"
- echo.
- echo.单词:%word%
- echo.释义:
- for /f "tokens=1,2,3 delims=<>" %%a in ('%command1% %url%') do (
- if "%%a" == "audio" set "mp3=%%b"
- if "%%b" == "Not Found" echo 无此单词^^! &goto :EOF
- if "%%c" == "/def" echo %%b &goto :EOF
- if "%%b" == "/def" echo %%a &set flag=0
- if "!flag!" == "1" echo %%a
- if "%%a" == "def" echo %%b &set flag=1
- )
- goto :EOF
- :help
- echo.批处理在线查单词
- echo.
- echo.用法:dict word ...
- echo.
- echo /F 完全模式查询单词。
- echo word 可指定多个单词。
- goto :EOF
无奈何发表于 2007-01-03 12:11
Last edited by 无奈何 on 2007-1-4 at 01:16 AM ]
作者: ccwan
时间: 2007-1-4 01:26
坐下沙发^_^
作者: redtek
时间: 2007-1-4 03:15
欣赏~~
内容越来越全面、越来越丰富吸引人了~:)))
作者: flamey
时间: 2007-1-4 03:55
一个字=====强!
作者: ksuday
时间: 2007-1-4 04:29
我不会用,惭愧
作者: dosmania
时间: 2007-1-4 05:35
不行吖,双击后一闪然后就退出了
我已经下载了wget了,存于WINDOWS吗,我也试了存于system32
结果还是一样
作者: ccwan
时间: 2007-1-4 05:47
发错了,汗一个!=_=|||
Last edited by ccwan on 2007-1-4 at 05:55 AM ]
作者: lxmxn
时间: 2007-1-4 05:53
没有金山的词库,有的朋友可否发一个上来?
作者: vkill
时间: 2007-1-4 06:25
呵呵,以前简单的弄了下,没有去完善,佩服斑竹,要我弄的话是wget+sed
作者: vkill
时间: 2007-1-4 06:29
声音文件是.swf吗?
作者: 无奈何
时间: 2007-1-4 07:19
RE dosmania
干嘛要双击运行,这样你只能看到帮助并且一闪而过,在命令行下调用。
RE lxmxn
不需要词库的,在线查。你说的是金山词霸的词典吗?
RE vkill
声音是 mp3 格式的。
http://www.iciba.com/ 的是swf 的。
作者: vkill
时间: 2007-1-6 02:15
作者: xiaoshuq
时间: 2007-1-7 02:37
标题: 顶
越来越有意思了,看来我要努力学习了阿
作者: jackyggt
时间: 2007-3-16 08:00
好东西啊
作者: xycoordinate
时间: 2007-3-17 05:52
佩服!
作者: zouzhxi
时间: 2007-3-17 05:56
用代理上网能用吗...呵呵...
作者: huzixuan
时间: 2007-3-17 06:31
如果我可以 知道 那几个程序依赖性 文件 如何下载
并且可以使用 这个批处理工具 的话,我就更开心了 - -
作者: ysc
时间: 2007-3-17 08:35
人才~~~~
作者: chengbiner
时间: 2007-3-17 11:25
以前看有人提议,没想怎么快你做出来哦!给你加分咯!
作者: SAtANly
时间: 2007-3-17 14:08
还不错!
就是连接上网的时候慢了点!当然,可能是我这里网络不行!
作者: plp626
时间: 2007-12-9 07:01
我下了cult.exe wget.exe,(与运行文件在同一目录下)
在命令提示符下运行了上面的代码,
当输入:
dict /f abandon时,却出现
'dict' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
请问这是怎么回事,我忙活了一晚上呀,高手请指教呀
作者: lxmxn
时间: 2007-12-9 08:18
把一楼的批处理保存为dict.bat文件,放在系统可执行路径下。