【发布时间】:2016-04-06 06:59:51
【问题描述】:
我想执行我的应用程序使用 Windows 脚本宿主(wscript.exe 或 cscript.exe)生成的简单 VBScript/JScript,而不生成临时脚本文件。
我没有找到从标准输入流中读取脚本的命令行选项,但我确实在 WWW 中找到了几个记录 WScript 错误消息“无法从标准输入读取脚本”的位置。
MSDN Windows Script Host Reference - Error Messages
那么有隐藏的命令行选项可以从标准输入中读取脚本吗?
目前我的程序会生成一个小脚本并将其写入临时文件。然后它创建一个运行cscript.exe 的子进程,等待它完成,然后再次删除临时文件。如果可能的话,我想摆脱临时文件并将脚本直接传递给脚本主机。 (例如,将其传递给cscript.exe 或将其作为类似于cmd.exe 的/c 命令行选项的命令行参数的一部分传递)
【问题讨论】:
-
你能发一个例子吗?从什么生成vbscript?请多解释!
-
您可以在当前进程中执行您的代码字符串,还是需要在新进程中运行?
-
@AlexK。你能详细说明吗?我很感兴趣,你如何在没有临时文件的情况下将动态脚本传递给
cscript.exe进程。 -
我的意思是,如果代码不需要在单独的进程中运行,他可以通过 .Execute 或 ScriptControl 在当前进程中运行他的字符串