可用任务计划程序调用系统TTS实现日历语音提醒:新建BAT文件执行PowerShell语音命令,通过taskschd.msc创建定时任务,需预装中文语音包,支持手动关联固定事件或PowerShell动态批量绑定。

你想在电脑日历事件触发时听到一句“会议开始”或“吃药时间到”这样的简短语音提示,而不是只靠弹窗或铃声提醒,但系统自带日历App不提供语音选项——必须绕过界面限制,用Windows底层任务计划程序调用系统TTS引擎实现。
用任务计划程序绑定TTS语音提醒
第一步:按 Win + R 打开运行框,输入 notepad 回车,新建一个文本文件。
第二步:粘贴以下代码(把其中“请开会”替换成你要的语音内容):
PowerShell -Command "Add-Type –AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('请开会')"
第三步:点击记事本【文件】→【另存为】→保存类型选“所有文件”,文件名填 meeting_voice.bat,保存路径记牢(比如桌面)。
第四步:按 Win + R 输入 taskschd.msc 回车,打开任务计划程序→右侧点击【创建基本任务…】→起名“会议语音提醒”→下一步→触发器选【每天】→设置开始时间为你要提醒的具体时间(如 09:00)→下一步→操作选【启动程序】→浏览找到刚才保存的 meeting_voice.bat 文件→完成。
【关键前提】:系统必须已安装中文语音包。若执行后无声,请先前往 设置 → 时间和语言 → 语言 → 中文(简体) → 选项 → 下载语音包(选“Microsoft云语音”或“Microsoft小娜”)。
让日历事件自动触发该语音任务
方法一:手动关联(适合固定事件)
在日历App中创建事件时,把“提醒”设为【无】,然后回到任务计划程序,右键刚建的语音任务→【属性】→切换到【条件】选项卡→勾选【只有在计算机使用交流电源时才启动此任务】(避免笔记本电池耗尽误播)→再切到【设置】选项卡→勾选【如果任务失败,重新启动任务】,间隔填5分钟,最多重试3次。
方法二:用PowerShell脚本动态绑定(适合批量事件)
打开 PowerShell(管理员身份),运行:
Register-ScheduledTask -TaskName "DailyMedicine" -Xml (Get-Content "C:\temp\med_voice.xml" | Out-String) -Force
其中 med_voice.xml 是你导出的任务配置文件,需提前在任务计划程序里右键任务→【导出】生成。
测试语音是否正常播放
双击桌面上的 meeting_voice.bat 文件,立刻听到语音播报。如果没声音,检查音量混合器里“命令提示符”或“PowerShell”是否被静音。
在任务计划程序中,右键该任务→【运行】,观察右下角是否弹出“正在运行”提示,同时语音同步响起。
确认无误后,关闭所有窗口。

















