的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