Batch file 强制bat文件使用非默认cmd.exe

Batch file 强制bat文件使用非默认cmd.exe,batch-file,cmd,Batch File,Cmd,我正在编写一个.bat文件来自动处理一些脚本生成,这样我就不必在每次运行时都输入半打命令参数 我必须从批处理文件运行vb脚本 @call ..\Database\scripts\runscriptupdates.vbs 但是,仅当使用来自的命令提示符时,脚本才会运行 C:\Windows\SysWOW64\cmd.exe 默认情况下,bat文件使用system32中的cmd.exe C:\Windows\System32\cmd.exe 是否有办法强制批处理文件使用此cmd.exe运行vb

我正在编写一个.bat文件来自动处理一些脚本生成,这样我就不必在每次运行时都输入半打命令参数

我必须从批处理文件运行vb脚本

@call ..\Database\scripts\runscriptupdates.vbs
但是,仅当使用来自的命令提示符时,脚本才会运行

C:\Windows\SysWOW64\cmd.exe
默认情况下,bat文件使用system32中的cmd.exe

C:\Windows\System32\cmd.exe
是否有办法强制批处理文件使用此cmd.exe运行vbs文件?我已经在网上搜寻了大约一个小时了,到目前为止还没有找到任何有用的东西

我试着运行带有“start…”的syswow64,但是它似乎不接受后面的参数

非常感谢,尼尔你可以试试:

%windir%\SysWoW64\cmd.exe /c mybatch.bat

这将从32位命令提示符运行批处理本身。因此,对vbs的调用也将来自32位命令提示符。

我也遇到了这个问题,我找到了解决方法。
您只需更改
系统变量

转到控制面板>系统>高级系统设置>环境变量


找到变量
ComSpec
,然后只需单击编辑…,并将路径更改为
“C:\Windows\SysWow64\cmd.exe”

尝试在批处理文件中键入这一行

%windir%\SysWoW64\cmd.exe/c[“]cscript[脚本名称][主机选项][脚本参数][“]

其中:

  • 脚本名称是脚本文件的名称,包括文件扩展名和任何必要的路径信息

  • 主机选项是用于启用或禁用各种Windows脚本主机功能的命令行开关。主机选项前面总是有两个斜杠(//)

  • 脚本参数是传递给脚本的命令行开关。脚本参数前面总是有一个斜杠(/)

例如:

%windir%\SysWoW64\cmd.exe/c“cscript VoltageDrop.vbs/”Campbell.sin“L08”

注意:在这一行中,我不传递任何主机选项。此命令将执行字符串

cscript VoltageDrop.vbs/“Campbell.sin”“L08”


作为32位命令提示符中的命令。

这就完成了,打开了新窗口,然后一切正常运行。能够在一个批处理文件中完成这项工作会很好,所以在选择答案之前,我会将问题保留一天。再次感谢你的帮助!