[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]批处理怎样实现整点报时?

本帖最后由 l8532001 于 2011-7-8 11:55 编辑

网上找了段代码,可以语音报时,放进任务管理中,能整点报时,但是有点小缺陷,就是在整点报时时候,语音说成:“现在是北京时间x点0分”。
感觉很别扭,看看能不能搞一个判断,如果是整点时候,把语音改成:“现在是北京时间x点整”。 我搞了半天也没搞好,还是要求助各位童鞋帮忙!!谢谢!
代码如下:
  1. @echo off
  2. MODE con: COLS=14 LINES=1
  3. for /f "tokens=1,2,3 delims=:" %%i in ('echo %time%') do set tvar=%%i点%%j分
  4. echo Set oVoice = CreateObject("SAPI.SpVoice") >%temp%\read.vbs
  5. echo with oVoice >>%temp%\read.vbs
  6. echo set .voice = .GetVoices.Item^(0^) >>%temp%\read.vbs
  7. echo .Volume = 100 >>%temp%\read.vbs
  8. echo .rate = 0 >>%temp%\read.vbs
  9. echo .speak(Wscript.Arguments(0)) >>%temp%\read.vbs
  10. echo end with >>%temp%\read.vbs
  11. %temp%\read.vbs "现在是北京时间%tvar%!"
  12. @del %temp%\read.vbs
  13. exit
复制代码
1

评分人数

    • zm900612: 感谢给帖子标题标注[已解决]字样PB + 2

.voice = .GetVoices.Item^(0^)
如何在这里指定已安装的多个语音库中的其中一个?谢谢

TOP

.voice = .GetVoices.Item^(0^)
如何在这里指定多人语音库中的某个?谢谢

TOP

已经完整发出来了,你没有装中文语音库吧?

TOP

5# l8532001
为什么我的报时是E文发音的?能不能把完整的代码弄出来看看?

TOP

四楼的兄弟解决了这个问题,谢谢!!

TOP

for /f "tokens=1,2,3 delims=:" %%i in ('echo %time%') do set tvar=%%i点%%j分
改为
for /f "tokens=1,2 delims=:" %%i in ("%time%") do (
  set "tvar=%%i点%%j分"
  if "%%j" equ "00" set "tvar=%%i点整"
)
1

评分人数

    • zm900612: 乐于助人,但是别忘了code哦PB -2 技术 + 1
一路飘过的鸟~~~

TOP

可算是学会了怎么框代码了, 找半天,太笨了,呵呵。。

TOP

请将代码放入
^[^code]  ^ [^/code]内
如果不会就在输入框上方的<>工具可以框代码
1

评分人数

    • zm900612: 感谢主动维护论坛管理PB + 2
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

返回列表