【发布时间】:2019-08-29 12:56:52
【问题描述】:
我正在尝试使用 windows 命令call 一起调用 2 个命令。这些命令是从 vbscript 文件调用的。 Cscript 命令用于运行 vbscript 文件。当我从 cmd 运行 .vbs 文件时,会显示一个新的 cmd 窗口。有没有办法避免这种情况?我正在为call 命令考虑类似start /B 的东西。下面给出了我的 vbscript。
DIM BuildExecuteString
BuildExecuteString = "cmd /c call ""C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat"" & devenv ""Test.sln"" /Rebuild ""Release|Any CPU"" /project ""Test"""
Set objShell = CreateObject("Wscript.Shell")
Call objShell.Run(BuildExecuteString, 1, True)
【问题讨论】:
-
您是否尝试将 intWindowStyle
1(激活并显示窗口) 设置更改为0(隐藏窗口)? -
将 WindowStyle 设置为 0 会隐藏窗口。我不希望这样,我希望已启动应用程序的输出显示在调用 vbscript 的同一 cmd 中。
-
如果 vbscript 已经在 cmd.exe 窗口中通过 cscript.exe 运行,为什么还要打开另一个 cmd.exe 实例?事实上,您为什么要通过 vbscript 运行批处理文件?不能直接直接运行
Call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat"...吗? -
没有
cmd /c我得到错误t.vbs(5, 1) (null): The system cannot find the file specified. -
@FaisalM,我告诉过你根本不要使用 vbscript/cscript,你显然是从批处理文件中运行的,所以不要,只需将 vbscript 的东西完全替换为
callingVSDevCmd与您的具体论点。
标签: batch-file cmd vbscript