的for
循环你有没有执行该脚本并运行每一行脚本的回报。基本上这意味着您的环境变量%ScriptOut%
仅包含输出的最后一行(因为每次循环处理另一行时它都会被覆盖)。所以,如果你的脚本返回
a
b
c
然后%ScriptOut%
将只包含c
。如果最后一行是空的或只包含空格物联网将有效地删除%ScriptOut%
这就是为什么当你做一个
echo %ScriptOut%
自变量substition后,所有剩下的有echo
你只能得到ECHO is on.
。您可以使用
回声%ScriptOut%
在这种情况下,你会得到一个空行(这是什么%ScriptOut%
包含在这一点上。
如果你想打印每行的脚本返回到一个文件,那么你可以做到这一点很容易通过简单地做一个
cscript C:\MyProj\Sources\SearchString.vbs > C:\ThreePartition\Sources\myfile.txt
,或者如果你想输出附加到文件,如Stanislav Kniazev pointed out使用>>
重定向。
如果您只想储存最后非空线,那么下面可能的工作:
for /f "delims=" %%a in ('C:\MyProj\Sources\SearchString.vbs') do (
if not "%%a"=="" set ScriptOut=%%a
)
这将只设置%ScriptOut%
的情况下,循环变量是不是空的。
喜, 无其实我得到一个返回值来ScriptOut(FRM返回VBS)应写入file.When我运行这个上面代码的文本,我只是得到ECHO是关着的myfile.txt的 – Maddy 2009-04-10 09:30:26