标题: [系统相关] [已解决]批处理怎样实现整点报时? [打印本页]
作者: l8532001 时间: 2011-7-7 23:01 标题: [已解决]批处理怎样实现整点报时?
本帖最后由 l8532001 于 2011-7-8 11:55 编辑
网上找了段代码,可以语音报时,放进任务管理中,能整点报时,但是有点小缺陷,就是在整点报时时候,语音说成:“现在是北京时间x点0分”。
感觉很别扭,看看能不能搞一个判断,如果是整点时候,把语音改成:“现在是北京时间x点整”。 我搞了半天也没搞好,还是要求助各位童鞋帮忙!!谢谢!
代码如下:- @echo off
- MODE con: COLS=14 LINES=1
- for /f "tokens=1,2,3 delims=:" %%i in ('echo %time%') do set tvar=%%i点%%j分
- echo Set oVoice = CreateObject("SAPI.SpVoice") >%temp%\read.vbs
- echo with oVoice >>%temp%\read.vbs
- echo set .voice = .GetVoices.Item^(0^) >>%temp%\read.vbs
- echo .Volume = 100 >>%temp%\read.vbs
- echo .rate = 0 >>%temp%\read.vbs
- echo .speak(Wscript.Arguments(0)) >>%temp%\read.vbs
- echo end with >>%temp%\read.vbs
- %temp%\read.vbs "现在是北京时间%tvar%!"
- @del %temp%\read.vbs
- exit
复制代码
作者: mxxcgzxxx 时间: 2011-7-7 23:05
请将代码放入
^[^code] ^ [^/code]内
如果不会就在输入框上方的<>工具可以框代码
作者: l8532001 时间: 2011-7-7 23:54
可算是学会了怎么框代码了, 找半天,太笨了,呵呵。。
作者: ArdentMan 时间: 2011-7-8 09:01
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点整"
)
作者: l8532001 时间: 2011-7-8 11:55
四楼的兄弟解决了这个问题,谢谢!!
作者: a87750530 时间: 2011-7-8 16:16
5# l8532001
为什么我的报时是E文发音的?能不能把完整的代码弄出来看看?
作者: l8532001 时间: 2011-7-8 21:40
已经完整发出来了,你没有装中文语音库吧?
作者: yadngah1984 时间: 2012-9-9 22:19
.voice = .GetVoices.Item^(0^)
如何在这里指定多人语音库中的某个?谢谢
作者: yadngah1984 时间: 2012-9-9 22:20
.voice = .GetVoices.Item^(0^)
如何在这里指定已安装的多个语音库中的其中一个?谢谢
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |