我正在使用 Windows 7 家庭版。我想让我的计算机等待一段时间,然后在它终止程序之前发出警告。作为测试,我编写了以下批处理文件来让 Windows Media Player 播放收音机,等待 10 秒,然后发出哔声并将其关闭:
@echo off
start "_" "C:\Program Files (x86)\Windows Media Player\wmplayer.exe" "http://www.cpr.org/content_category_templates/listenTemplate/listenClassical48.asx"
sleep 10
@echo ^G
@echo ^G
@echo ^G
@echo ^G
taskkill /im wmplayer.exe /f
Run Code Online (Sandbox Code Playgroud)
注意:按照我在本网站的另一个问题中找到的说明,“^G”是您在命令提示符下键入 control + G 时得到的字符。好像没有出现在这个网站上,所以我用^G代替了它。
这工作得很好。直到,也就是说,我尝试使用 Windows 任务计划程序使其自动运行。我试了几次,它没有发出哔哔声。其他功能工作正常,但听不到哔哔声。
当任务调度程序启动时,脚本没有在窗口中运行,我得出结论,这肯定会导致 echo 命令出现问题(没有回显)。因此,在花了一些时间寻找一种不涉及回声的发出哔哔声的方法后,我最终以 VB .NET 控制台程序的形式重写了整个内容:
Imports System.Threading
Module Beep
Sub Main()
Dim wmp As New System.Diagnostics.Process
wmp.StartInfo.FileName = "C:\Program Files (x86)\Windows Media Player\wmplayer.exe"
wmp.StartInfo.Arguments = "http://www.cpr.org/content_category_templates/listenTemplate/listenClassical48.asx"
wmp.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
wmp.Start()
Thread.Sleep(New TimeSpan(0, 0, 10))
Console.Beep()
Console.Beep()
Console.Beep() …Run Code Online (Sandbox Code Playgroud)