中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 16:37
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创]批处理在线查单词
可打印版本  5,356 / 21
第1楼 无奈何 发表于 2007-01-04 00:47
荣誉版主 发帖 356 积分 1,338
[原创]批处理在线查单词
昨天写完的东西,忘发了。功能简单在线查单词,数据来自金山词霸。
需要 wget 或 curl 支持,如果需要朗读功能的话需要 mplayer 支持。

用法:dict word ...
/F 完全模式查询单词。
word 可指定多个单词。
支持单词朗读功能。

所需软件链接:
mplayer:http://www.mplayerhq.hu
wget :http://users.ugent.be/~bpuype/wget/
或 curl:http://curl.haxx.se/



  1. :::::::::::::::::::::::::::::::::::::::::::::::::
  2. :: dict.cmd -V0.1 -- 批处理在线查单词
  3. :: 无奈何@cn-dos.net - 2007-1-2
  4. :: 用法:dict 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.查看详解 退出 &goto :Nselect
  52. echo.朗读 查看详解 退出
  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 http://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 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 ]
第2楼 ccwan 发表于 2007-01-04 01:26
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
坐下沙发^_^
第3楼 redtek 发表于 2007-01-04 03:15
金牌会员 发帖 1,147 积分 2,902
欣赏~~
内容越来越全面、越来越丰富吸引人了~:)))
第4楼 flamey 发表于 2007-01-04 03:55
初级用户 发帖 74 积分 152
一个字=====强!
第5楼 ksuday 发表于 2007-01-04 04:29
初级用户 发帖 19 积分 38
我不会用,惭愧
第6楼 dosmania 发表于 2007-01-04 05:35
初级用户 发帖 54 积分 172
不行吖,双击后一闪然后就退出了
我已经下载了wget了,存于WINDOWS吗,我也试了存于system32
结果还是一样
第7楼 ccwan 发表于 2007-01-04 05:47
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
发错了,汗一个!=_=|||

[ Last edited by ccwan on 2007-1-4 at 05:55 AM ]
第8楼 lxmxn 发表于 2007-01-04 05:53
版主 发帖 4,938 积分 11,386
  没有金山的词库,有的朋友可否发一个上来?
第9楼 vkill 发表于 2007-01-04 06:25
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
呵呵,以前简单的弄了下,没有去完善,佩服斑竹,要我弄的话是wget+sed
第10楼 vkill 发表于 2007-01-04 06:29
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
声音文件是.swf吗?
第11楼 无奈何 发表于 2007-01-04 07:19
荣誉版主 发帖 356 积分 1,338
RE dosmania
干嘛要双击运行,这样你只能看到帮助并且一闪而过,在命令行下调用。

RE lxmxn
不需要词库的,在线查。你说的是金山词霸的词典吗?

RE vkill
声音是 mp3 格式的。http://www.iciba.com/ 的是swf 的。
第12楼 vkill 发表于 2007-01-06 02:15
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
RE 无奈何 斑竹
我觉得读音还是 mplayer 来播放iciba上的好,呵呵,简单

@echo off
:start
set search=
set /p search=请输入要翻译的单词:
set search_x=%search:~0,1%
echo %search%读音:
mplayer http://www.iciba.com/resource/a/en/%search_x%/%search%.swf>nul
goto start
第13楼 xiaoshuq 发表于 2007-01-07 02:37
初级用户 发帖 30 积分 97

越来越有意思了,看来我要努力学习了阿
第14楼 jackyggt 发表于 2007-03-16 08:00
初级用户 发帖 38 积分 76
好东西啊
第15楼 xycoordinate 发表于 2007-03-17 05:52
中级用户 发帖 228 积分 493 来自 安徽
佩服!
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023