从批处理文件运行vbscript

时间:2012-08-10 10:24:41

标签: vbscript batch-file 32bit-64bit 32-bit syswow64

我只需要编写一个简单的批处理文件来运行vbscript。 vbscript和批处理文件都位于同一文件夹中,并且位于SysWOW64目录中,因为vbscript只能在该目录中执行。目前我的批处理文件如下:

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

但是vbscript没有执行,只是命令提示符已打开。任何人都可以告诉我如何在运行此批处理文件时执行vbscript?感谢。

5 个答案:

答案 0 :(得分:40)

您可以使用%~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

答案 1 :(得分:7)

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

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

答案 2 :(得分:5)

批处理文件逐行处理,并在您直接调用可执行文件时终止 - 要使批处理文件等待进程终止并继续,请将call放在其前面 - 要使批处理文件继续而不等待,请将start ""放在其前面。

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

  

@call cscript“%~dp0necdaily.vbs”

(因为这是一行,你可以使用@而不是@echo off)

如果您认为只能从SysWOW64版本的cmd.exe调用您的脚本,您可以尝试:

  

@%WINDIR%\ SysWOW64 \ cmd.exe / c调用cscript“%~dp0necdaily.vbs”

如果您需要保留窗口,可以用/ k

替换/ c

答案 3 :(得分:1)

我正在尝试在批处理文件中打开.vbs,而不必点击打开,但这个问题的答案是......

SET APPDATA =%CD%

启动(如果文件是vbd文件,则此处的文件没有带.vbs的括号)

希望有所帮助:)

答案 4 :(得分:1)

试试这段代码:

开始"" " C:\用户\ DiPesh \桌面\的VBScript \ welcome.vbs"

并保存为.bat,它适用于我