【发布时间】:2015-04-23 19:02:10
【问题描述】:
我有一个 vbscript,它将从文本文件中读取命令。我正在考虑使用 Execute 和 Eval 命令来执行文件中的命令。显然,我会将文件作为字符串读入,并将字符串解析为 Eval 和 Execute 命令。但是,我不确定这是否可能,以及如何去做?
例如,假设我有以下文件:
x = 3
y = 4
z = x + y
Print z
在我的 vbscript 中,我想要如下内容:
' Read in file to string
' Split the string at the newline (commandList)
For Each str in commandList:
Execute(str)
Next str
输出将是:
7
我尝试了以下方法来获得概念证明:
执行("x = 1")
但是,我不断收到“函数在评估期间终止”错误。不知道我做错了什么。我对vbscript不太熟悉。
【问题讨论】:
-
您确定您的问题是在
vbscript上吗?请edit您的问题并显示您的文本文件,其中包含要执行的命令和足够的代码sn-p(请参阅How to Ask)。 -
无法重现“函数在评估期间终止”错误(使用 cscript.exe)所以可能不是
Execute("x = 1")中的错误。尝试将其中一个空格更改为不间断空格 (U+00A0),得到“语法错误”。尝试定义函数/子 x(),得到“非法分配”。尝试将 x 预设为一个对象,只是用该值覆盖它。我怀疑样本输入中可能有线索。哪个主机环境提供“打印”语句?可能是环境不喜欢Execute语句吧。
标签: vbscript