从运行批处理文件的VBScript(Running vbscript from batch file

2019-07-30 21:56发布

我只需要编写一个简单的批处理文件只是运行一个VBScript。 无论是VBScript和批处理文件是在同一文件夹,并在Syswow64资料目录中的VBScript只能在目录中执行。 目前我的批处理文件如下:

@echo off
%WINDIR%\SysWOW64\cmd.exe
cscript necdaily.vbs

但VBScript中不执行,只是命令提示符打开。 谁能告诉我怎样才能执行的VBScript当我运行这个批处理文件? 谢谢。

Answer 1:

您可以使用%~dp0获得当前正在运行的批处理文件的路径。

编辑运行前更改目录的VBS位置

如果你想在VBS同步在同一个窗口中运行,则

@echo off
pushd %~dp0
cscript necdaily.vbs

如果你想在VBS同步在新窗口中运行,那么

@echo off
pushd %~dp0
start /wait "" cmd /c cscript necdaily.vbs

如果你想在VBS异步在同一个窗口中运行,则

@echo off
pushd %~dp0
start /b "" cscript necdaily.vbs

如果你想在VBS异步在新窗口中运行,那么

@echo off
pushd %~dp0
start "" cmd /c cscript necdaily.vbs


Answer 2:

这是批处理文件的命令,它可以运行VBScript。

C:\Windows\SysWOW64\cmd.exe /c cscript C:\Windows\SysWOW64\...\necdaily.vbs


Answer 3:

批处理文件由行处理行,只要你直接调用可执行终止。
-为了让批处理文件等待进程终止,并继续把call在它的前面。
-为了让批处理文件继续无需等待,就把start ""在它的前面。

我建议使用此单行脚本来实现自己的目标:

@call CSCRIPT “%〜dp0necdaily.vbs”

(因为这是一个单一的线,你可以用@代替@echo的关闭)

如果你认为你的脚本只能从CMD.EXE的Syswow64资料版本叫,你可以尝试:

@%WINDIR%\ Syswow64资料\ cmd.exe的/ C呼叫CSCRIPT “%〜dp0necdaily.vbs”

如果你需要的窗口保持,您可以替换/ C与/ K



Answer 4:

好吧,我试图打开一个批处理文件中为.vbs,而无需点击打开,但这个问题的答案是...

SET APPDATA =%CD%

启动(你的文件没有在这里以.vbs括号,如果它是一个VBD文件)

希望帮助:)



Answer 5:

刚刚尝试下面的代码:

启动“” “C:\用户\ DiPesh \桌面\ VBScript中\ welcome.vbs”

并保存为.bat和我的作品



文章来源: Running vbscript from batch file