Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VBScript/JScript中为控制台应用程序编写代理启动器_Vbscript_Jscript_Wscript.shell - Fatal编程技术网

在VBScript/JScript中为控制台应用程序编写代理启动器

在VBScript/JScript中为控制台应用程序编写代理启动器,vbscript,jscript,wscript.shell,Vbscript,Jscript,Wscript.shell,我想通过将传递给应用程序的一些参数包装到可检查的脚本中来修改它 CMD.exe不在列表中,因为它会损坏原始参数列表(=,,&;被视为命令分隔符,将--opt=val呈现为--opt+val) 我考虑过JScript,但感到沮丧的是,使用Wscript.ShellwithRun+Exec&Shell.ApplicationwithShellExecute创建新窗口,而不是附加到现有控制台 包装器将STDIO控件传递给已启动的应用程序是至关重要的。常规批处理文件遵循这样的语义,即使通过.cmd包装器

我想通过将传递给应用程序的一些参数包装到可检查的脚本中来修改它

CMD.exe不在列表中,因为它会损坏原始参数列表(
=
&
被视为命令分隔符,将
--opt=val
呈现为
--opt
+
val

我考虑过JScript,但感到沮丧的是,使用
Wscript.Shell
with
Run
+
Exec
&
Shell.Application
with
ShellExecute
创建新窗口,而不是附加到现有控制台


包装器将STDIO控件传递给已启动的应用程序是至关重要的。常规批处理文件遵循这样的语义,即使通过
.cmd
包装器调用应用程序,到应用程序的CLI管道也会继续工作。

您正在寻找类似的东西吗

启动应用程序.vbs

然后使用
cscript.exe
调用它。例如:

cscript.exe launchApplication.vbs --opt=val
假设您的控制台
application.exe
实际接受
--opt=val
,那么上面的脚本应该能够捕获用于调用application.exe的命令行参数,以及application.exe中的stdout和stderr

如果需要,还可以在执行application.exe之前对其进行修改以更改命令行参数

cscript.exe launchApplication.vbs --opt=val