批处理文件终止时终止任务

时间:2016-02-09 18:54:26

标签: batch-file background-music

我试图制作一个在后台播放音乐的批处理文件,例如this 但是,当我通过按X终止文件时,我发现音乐仍在播放。

这是一个很好的样本:

@echo off
set file=http://www.soundjay.com/button/button-2.mp3
( echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
  echo Sound.URL = "%file%"
  echo Sound.Controls.play
  echo do while Sound.currentmedia.duration = 0
  echo wscript.sleep 100
  echo loop
  echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs
start /min sound.vbs

我现在有3个问题。

  1. 它在.bat本身的目录中创建一个文件。

  2. 之后它不会删除它。

  3. 它一直播放直到结束然后终止后台程序,但是当我在命令提示符上按X时它不会终止它

1 个答案:

答案 0 :(得分:1)

一种方式:

@Echo Off

set "file=http://www.soundjay.com/button/button-2.mp3"
( echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
  echo Sound.URL = "%file%"
  echo Sound.Controls.play
  echo do while Sound.currentmedia.duration = 0
  echo wscript.sleep 100
  echo loop
  echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs
start /min sound.vbs

:loop
set /p $Answer=Press X + Enter to stop ! : 
if /i "%$Answer%"=="x" (
   Taskkill /f /im "wscript.exe" >nul
   del *.mp3
   exit/b
 )
goto:loop

编辑:

如果要流式传输文件,请使用VLC命令行选项。如果您想要%temp%中的文件,可以将其移动或首先下载到%temp%

如果您希望单击[X]时音乐停止,只需替换:

start /min sound.vbs

cscript //nologo sound.vbs