在批处理文件中,我使用以下命令获取命令的输出:
for /f %%i in ('command') do set output=%%i
command
应输出一行文字,在这种情况下,我会在%output%
中得到预期的输出。
但是,command
有时会输出几行文字,这表示错误。在这种情况下,我得到%output%
中的最后一个,我不知道command
输出的内容多于一行。
如何检查command
何时输出多行文字?
注意:当有多行时,我不需要知道输出是什么;我只需知道输出了多行。
答案 0 :(得分:2)
set "output="
for /f %%i in ('command') do if defined output (
echo "error"
) else (
set output=%%i
)
使用if defined
解释目标变量
答案 1 :(得分:0)
cmd.exe /k "for /f %%i in ('command') do set output=%%i" > C:/Users/%username%/Desktop/Output.txt
答案 2 :(得分:-1)
......或者
for /f %%i in ('command 2^>nul') do set output=%%i
我们很难说我们什么时候不知道命令或错误输出