Board logo

标题: [原创]批处理在线查单词 [打印本页]

作者: 无奈何     时间: 2007-1-4 00:47    标题: [原创]批处理在线查单词
昨天写完的东西,忘发了。功能简单在线查单词,数据来自金山词霸。 需要 wget 或 curl 支持,如果需要朗读功能的话需要 mplayer 支持。 用法:dict [/F] word ... /F 完全模式查询单词。 word 可指定多个单词。 支持单词朗读功能。 所需软件链接: mplayer:www.mplayerhq.hu wget :users.ugent.be/~bpuy ... 或 curl:curl.haxx.se/
  1. :::::::::::::::::::::::::::::::::::::::::::::::::
  2. :: dict.cmd -V0.1 -- 批处理在线查单词
  3. :: 无奈何@cn-dos.net - 2007-1-2
  4. :: 用法:dict [/F] word ...
  5. :: 支持文件: - mplayer.exe wget.exe or curl.exe
  6. :::::::::::::::::::::::::::::::::::::::::::::::::
  7. @echo off
  8. setlocal ENABLEDELAYEDEXPANSION
  9. set mp3file="%TEMP%\dict.mp3"
  10. rem 依赖文件检查
  11. :mplay
  12. call mplayer >nul 2>nul
  13. if "%ERRORLEVEL%" == "1" set nomplay=1
  14. :wget
  15. wget.exe >nul 2>nul
  16. if not "%ERRORLEVEL%" == "9009" (
  17. set "command1=wget -q -O - "
  18. set "command2=wget -q -O %mp3file%"
  19. goto star
  20. )
  21. :curl
  22. curl.exe >nul 2>nul
  23. if not "%ERRORLEVEL%" == "9009" (
  24. set "command1=curl -s "
  25. set "command2=curl -s -o %mp3file%"
  26. goto star
  27. )
  28. echo.本脚本需要 wget 或 curl 的支持。
  29. goto :EOF
  30. :star
  31. set flag=0
  32. if "%~1" == "" goto help
  33. if "%~1" == "?" goto help
  34. if "%~1" == "/?" goto help
  35. if "%~1" == "/F" shift &goto full
  36. if "%~1" == "/f" shift &goto full
  37. :next
  38. if "%~1" == "" goto :EOF
  39. set "word=%~1"
  40. call :down
  41. shift
  42. goto :next
  43. :full
  44. if "%~1" == "" goto :EOF
  45. set mp3=
  46. del %mp3file% 2>nul
  47. set "word=%~1"
  48. call :down
  49. %command2% "%mp3%"
  50. echo.--------------------------------
  51. if "%mp3%" == "" echo.[F]查看详解 [Q/A]退出 &goto :Nselect
  52. echo.[R]朗读 [F]查看详解 [Q/A]退出
  53. :Nselect
  54. set select=
  55. set /p select=请选择:
  56. call :Parse
  57. if "%quit%" == "1" goto :EOF
  58. shift
  59. goto :full
  60. :Parse
  61. for %%s in (R r F f A a) do if "%%s" == "%select%" goto Switch%select%
  62. goto :EOF
  63. :SwitchR
  64. if "%nomplay%" == "1" echo. 播放影音需要 mplayer 支持。&goto :Nselect
  65. start /min %ComSpec% /c "mplayer %mp3file%>nul"
  66. goto :Nselect
  67. goto :EOF
  68. :SwitchF
  69. start www.iciba.com/search?s=%word%
  70. goto :Nselect
  71. goto :EOF
  72. :SwitchA
  73. set quit=1
  74. goto :EOF
  75. :down
  76. set url="http://dict.cn/ws.php?q=%word%"
  77. echo.
  78. echo.单词:%word%
  79. echo.释义:
  80. for /f "tokens=1,2,3 delims=<>" %%a in ('%command1% %url%') do (
  81. if "%%a" == "audio" set "mp3=%%b"
  82. if "%%b" == "Not Found" echo 无此单词^^! &goto :EOF
  83. if "%%c" == "/def" echo %%b &goto :EOF
  84. if "%%b" == "/def" echo %%a &set flag=0
  85. if "!flag!" == "1" echo %%a
  86. if "%%a" == "def" echo %%b &set flag=1
  87. )
  88. goto :EOF
  89. :help
  90. echo.批处理在线查单词
  91. echo.
  92. echo.用法:dict [/F] word ...
  93. echo.
  94. echo /F 完全模式查询单词。
  95. echo word 可指定多个单词。
  96. 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 格式的。www.iciba.com/ 的是swf 的。

作者: vkill     时间: 2007-1-6 02:15
RE 无奈何 斑竹 我觉得读音还是 mplayer 来播放iciba上的好,呵呵,简单 @echo off :start set search= set /p search=请输入要翻译的单词: set search_x=%search:~0,1% echo %search%读音: mplayer www.iciba.com/resour ...>nul goto start

作者: 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文件,放在系统可执行路径下。