播放后停止音乐

时间:2015-03-26 03:28:38

标签: batch-file background pc

我想在Windows的背景下播放一首歌,稍微看一下我发现了这个:

@echo off
set file=RRLJ.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

这适用于启动歌曲但我无法从.bat文件中停止播放。我发现缩短它的唯一方法是打开任务管理器并从流程中关闭它。

我试过了:

taskkill /im wscript.exe

但是我一直在窗口说: 成功:向进程发送终止sidnal" wscript.exe"与PID 185448 但是音乐会继续播放,直到我用任务管理器手动结束它

2 个答案:

答案 0 :(得分:1)

我使用/T开关(Tree kill):终止指定的进程以及由它启动的所有子进程。

以下是仅使用ProcessID查找PID以终止所需流程的脚本:

@ECHO OFF >NUL
for /F "usebackq tokens=*" %%G in (
      `wmic process where "CommandLine like '%%sound.vbs%%' AND Caption like '%%script.exe%%'" get ProcessID/value ^|find /I "="`
    ) do (
        rem echo %%G
        for /F "tokens=2 delims==" %%H in ("%%~G") do echo  taskkill /T /F /PID %%H  
    )

注意taskkill命令仅在回调时...在调试时删除echo

答案 1 :(得分:0)

这项工作对我来说只有一行。

Taskkill /IM "wscript.exe" /F>nul 2>&1