Windows批处理:从exe输出管道输出到SET VARIABLE,其中输出有空格

时间:2014-09-19 19:16:26

标签: windows batch-file

有很多与此相关的Stack Overflow文章,但没有直接答案。

此命令将输出一堆单词

OutputVariable.exe %FILEPATH%

输出:

Mary had a little lamb

在批处理文件中,这是如何将输出变为变量

for /f %%i in ('OutputVariable.exe %FILEPATH%') do SET SENTENCE=%%i
ECHO %SENTENCE%

输出:

Mary

通常,FOR命令在空格处断开。救命啊!

2 个答案:

答案 0 :(得分:2)

for /f "delims=" %%i in ('OutputVariable.exe %FILEPATH%') do SET "SENTENCE=%%i"
ECHO %SENTENCE%

; , = <space> <tab>是批处理中的标准分隔符,for /f结果会自动将它们拆分。要停用分隔符,您需要在"delims="选项中for /f

答案 1 :(得分:0)

我建议:

@echo off

for /f "tokens=*" %%i in ('OutputVariable.exe %FILEPATH%') do SET SENTENCE=%%i
ECHO %SENTENCE%