批处理文件多个结果分隔变量

时间:2016-05-19 18:09:21

标签: batch-file cmd

我有一个.exe,可以打印连接到PC的多个设备的结果。但是,每个项目都在一个单独的行上,具体取决于连接的结果可以是1到多个设备。

如何将每个变量设置为单独的变量?

setTimeout

以下内容仅在结果为一个设备时才有效

testapp.exe -l
340e42e15fc02fb99e7caf66565d3c881081390c
4e8e93bd2a401c34e3d0d257de07af5d624521c6

想法?

2 个答案:

答案 0 :(得分:0)

您可以使用array将每个结果存储在每个数组元素中:

@echo off
setlocal EnableDelayedExpansion

set n=0
for /F %%a in ('testapp.exe -l') do (
   set /A n+=1
   set "device[!n!]=%%a"
)

echo The devices are:
for /L %%i in (1,1,%n%) do echo %%i- !device[%%i]!

答案 1 :(得分:0)

@echo off
setlocal enabledelayedexapansion
set i=0
for /f %%a in ('testapp.exe -l') do (
  set /a i+=1
  set device!i!=%%a
)
echo %i% devices:
set device