Batch file 批处理文件赢得';t打开隐藏的.vbs文件
我有一个批处理文件,它生成一个.vbs文件,然后应该打开它。它们都在同一个文件夹中。我尝试过使用Batch file 批处理文件赢得';t打开隐藏的.vbs文件,batch-file,vbscript,Batch File,Vbscript,我有一个批处理文件,它生成一个.vbs文件,然后应该打开它。它们都在同一个文件夹中。我尝试过使用start,但由于某些原因,它根本不起作用。我也尝试了cscript,但是由于脚本应该是隐藏的,所以也不起作用。如果我尝试手动运行vbs文件,它会工作 代码: @echo关闭 任务列表|查找“wscript.exe”>nul:&goto runningalr :重置 键入nul>sound.vbs (echo Set Sound=CreateObject(“WMPlayer.OCX.7”^))>>So
start
,但由于某些原因,它根本不起作用。我也尝试了cscript
,但是由于脚本应该是隐藏的,所以也不起作用。如果我尝试手动运行vbs文件,它会工作
代码:
@echo关闭
任务列表|查找“wscript.exe”>nul:&goto runningalr
:重置
键入nul>sound.vbs
(echo Set Sound=CreateObject(“WMPlayer.OCX.7”^))>>Sound.vbs
:开始
set/p loop=是否要重复播放音乐?(是/否)。。。
如果/i%loop%==y转到重复
如果/i%loop%==n转到开始1
开始
:重复
(回显do直到错误)>>sound.vbs
后藤开始
:开始
set/p damd=音乐目录?(如果没有更多,请键入“退出”)。。。
如果/i%damd%==退出转到开始
(echo Sound.URL=“%damd%”
回声声音。控制。播放
Sound.currentmedia.duration=0时回显do
echo wscript.sleep 100
回音环
echo wscript.sleep(int(Sound.currentmedia.duration^)+1^)*1000)>>Sound.vbs
后藤开始
:runningalr
set/p kill=音乐已经播放。你想阻止它吗?(是/否)。。。
如果%kill%==y taskkill/f/im wscript.exe&退出
如果%kill%==n转到gonnaexit
:gonnaexit
努尔
出口
:开始
如果/i%loop%==y(回声循环)>>sound.vbs
启动C:\Users\User\Desktop\server\sound.vbs
为什么没有启动
以及什么对我有效?尝试使用“查找%WINDIR%/System32/wscript.exe/I”而不是“查找wscript”
您可能还需要以管理员身份运行脚本,但这不太可能。您使用
start
提供了一个专用路径,但将vbs脚本写入当前工作目录。以下行从该工作目录开始:
start "" "%~dp0sound.vbs"
尝试使用绝对路径。隐藏脚本应该像可见脚本一样正常执行。@aschipfl已经尝试过了,它对我不起作用。在您费心提供遇到问题的代码之前,您希望得到多少注释?@Compo对不起,但我对这一点还不熟悉。@Compo不要因为人们不熟悉堆栈溢出而批评他们,也不要因为他们的问题中没有包含他们的代码,请让他们添加它。没有必要开始争论。我不是版主,我不能强迫你这么做,但版主很可能会警告和/或禁止你的帐户。你也很可能会得到很多仇恨,也会在社区中受到冷遇。像对待别人一样对待别人。啊,是的,我知道我错过了/I,但当时我想不起来了。我会加上这个。非常感谢您提醒我。@J03L哦,不。。顶部的那个部分只是为了检查它是否已经在运行。作为管理员运行似乎也没有帮助。@Kappa,我有个主意。vbs文件的确切路径是什么?(包括您的用户用户名)@Kappa oh,而且,您应该在goto命令中有“:”s。如果将它们放在(例如:goto:start)@J03L C:\Users\User\Desktop\server\sound.vbs中,效果会更好
start "" "%~dp0sound.vbs"