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