我有一个批处理文件,它被编程为运行vbs文件。在vbs文件中,它被编程为播放Ping.mp3隐藏(代码如下)。运行批处理文件时,vbs文件将冻结,批处理文件也将冻结,如下面的屏幕截图所示。
windows - 从批处理文件中的其他目录运行时,VBS文件卡住-LMLPHP
蝙蝠代码:

@echo off
cls
pushd %~dp0
Files\Ping.vbs
pause
popd

VBS代码:
Set Sound = CreateObject("WMPlayer.OCX.7")
Sound.URL = "Ping.mp3"
Sound.Controls.play
do while Sound.currentmedia.duration = 0
wscript.sleep 100
loop
wscript.sleep (int(Sound.currentmedia.duration)+1)*1000

我检查了一下这个问题是不是基于网络的,不是的。
我还检查了问题是否是pushd和popd命令,而不是。
任何帮助都将不胜感激。

最佳答案

我没有网络资料,但当ping.mp3位于ping.vbs所在的“file”目录中时,我使用您的代码复制了“freeze”。当MP3与批处理文件位于同一目录时播放。这意味着vbs看到的“当前目录”仍然是pushd %~dp0给定的目录。因此,如果ping.mp3位于“file”目录中,我建议将Sound.URL = "Ping.mp3"替换为Sound.URL = "File\Ping.mp3"

关于windows - 从批处理文件中的其他目录运行时,VBS文件卡住,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48037203/

10-13 07:14
查看更多