试图在.bat中打开.vbs文件,但它要求程序打开它

时间:2015-05-29 21:31:14

标签: batch-file vbscript

因此我尝试使用.bat文件打开.vbs文件(vbs文件与bat文件位于同一文件夹中)

start %~dp0 req.vbs

但是当我运行批处理时,我试图打开reg.vbs时得到它 image here

不会让我添加一个gyazo图像)

我不知道如何让它正确打开vbs文件

3 个答案:

答案 0 :(得分:1)

尝试(输出将在控制台中)

cscript /nologo /e:vbscript req.vbs

或(输出将出现恼人的弹出窗口)

wscript /e:vbscript req.vbs

答案 1 :(得分:1)

检查%PATHEXT%系统环境变量:set PATHEXT命令应返回已识别的可执行文件文件扩展名列表,并应包含.VBS,例如如下:

==>set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

使用assocftype命令检查文件关联,如下所示:

==>assoc .vbs
.vbs=VBSFile

==>ftype VBSFile
VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*

.vbs FileType和可执行程序之间的re-establish the link(请注意cmd应该以管理员身份运行并且操作顺序很重要):

ftype VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*
assoc .vbs=VBSFile

ftype VBSFile="%SystemRoot%\System32\CScript.exe" "%1" %*
assoc .vbs=VBSFile

如果您使用上述命令来自批处理脚本,请在"%%1"%%*中双重签名,如下所示:

ftype VBSFile="%SystemRoot%\System32\WScript.exe" "%%1" %%*
assoc .vbs=VBSFile

ftype VBSFile="%SystemRoot%\System32\CScript.exe" "%%1" %%*
assoc .vbs=VBSFile

答案 2 :(得分:0)

在运行命令之前,您可以使用PUSHD切换到当前目录。

PUSHD %~dp0
req.vbs
POPD