Batch file 试图在.bat中打开一个.vbs文件,但它需要一个程序来打开它

Batch file 试图在.bat中打开一个.vbs文件,但它需要一个程序来打开它,batch-file,vbscript,Batch File,Vbscript,因此,我试图用.bat文件打开一个.vbs文件(vbs文件与bat文件位于同一文件夹中) 但是当我运行批处理时,当它试图打开reg.vbs时,我得到了这个消息 不允许我添加gyazo图像) 我不知道如何让它正确打开vbs文件尝试(输出将在控制台中) 或(输出将带有恼人的弹出窗口) 在运行命令之前,可以使用PUSHD切换到当前目录 PUSHD %~dp0 req.vbs POPD 检查%PATHEXT%系统环境变量:set PATHEXT命令应返回可识别的可执行文件扩展名列表,并应包含.VBS

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

但是当我运行批处理时,当它试图打开reg.vbs时,我得到了这个消息

不允许我添加gyazo图像)

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

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

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


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

PUSHD %~dp0
req.vbs
POPD

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

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

==>ftype VBSFile
VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*
ftype VBSFile="%SystemRoot%\System32\WScript.exe" "%%1" %%*
assoc .vbs=VBSFile
使用和命令检查文件关联,如下所示:

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

==>ftype VBSFile
VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*
ftype VBSFile="%SystemRoot%\System32\WScript.exe" "%%1" %%*
assoc .vbs=VBSFile
.vbs
文件类型和可执行程序之间切换(注意
cmd
应作为管理员运行,操作顺序很重要):

如果您正在批处理脚本中使用上述命令,则在
“%%1”
%%*
中使用双百分号,如下所示:

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

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


启动/等待”cmd/c
不是必需的
cscript.exe
本身工作正常。查看您的图像,我看到文件:Gage规格。
Gage
名称来自何处?仅供参考:在我的操作系统中,会出现另一个
openwith
对话框,因此我无法令人满意地再现您的问题。我在
start%~dp0 req.vbs
中看到
%dp0
req.vbs
之间有一个空格。尝试
start%~dp0req.vbs
start”““%~dp0req.vbs”
你能打开vbs文件吗?我几乎听不懂你刚才说的一个词:-)这对我有效,除了你把文件reQ改成了实际的文件reG,所以我不得不稍微修改一下你的代码。谢谢