Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 关闭批处理文件时执行命令_Windows_Batch File_Taskkill - Fatal编程技术网

Windows 关闭批处理文件时执行命令

Windows 关闭批处理文件时执行命令,windows,batch-file,taskkill,Windows,Batch File,Taskkill,我有一个批处理文件,在运行时在后台播放声音,使用的方法是,但是,当我退出批处理文件时,音乐将继续播放 Id当批处理文件关闭时,有没有办法运行命令,以便声音文件停止播放 我尝试了一个我发现的名为onexit的例子: onexit taskkill /im wmplayer.exe 但它不起作用。只是: taskkill /f /im wmplayer.exe 应该行。我的第一个想法是另一批: @ECHO OFF START "" /W <YourBatchhere> TASKKIL

我有一个批处理文件,在运行时在后台播放声音,使用的方法是,但是,当我退出批处理文件时,音乐将继续播放

Id当批处理文件关闭时,有没有办法运行命令,以便声音文件停止播放

我尝试了一个我发现的名为onexit的例子:

onexit taskkill /im wmplayer.exe
但它不起作用。

只是:

taskkill /f /im wmplayer.exe

应该行。

我的第一个想法是另一批:

@ECHO OFF
START "" /W <YourBatchhere>
TASKKILL /im "wmplayer.exe"
@ECHO关闭
启动“”/W
TASKKILL/im“wmplayer.exe”
应该做这项工作:)

此时,
/W
将等待,但此处的批处理仍已结束。
无论成功与否。

这将非常有效,除非所有批处理文件的名称都是cmd.exe,因此这不会关闭任何内容,因为运行该代码的批处理将被打开,而且它需要在原始批处理文件关闭后杀死wmplayer.exe。您甚至测试过它吗?您写道,“当我退出批处理文件时”-因此您必须单击“X”-并关闭窗口-或者以任何其他方式退出批处理(例如键入“退出”)。因此,在“taskkill”将关闭wmplayer时,您的批处理已关闭,并且只会按预期关闭wmplayer.exe。也许您必须澄清您的问题。如果您以“中止方式”退出任何批处理,上面的代码会完全按照您的要求执行。我再说一遍,它会工作,但批处理文件有许多标签,必须在一个标签中才能完成。但是,我现在已修复了VBScript的问题