2016-05-19 12 views
0

PCに接続された複数のデバイスの結果を出力する.exeがあります。ただし、接続されているものによっては、1つのデバイスが複数のデバイスに接続できるかどうかによって、それぞれの項目が別々の行に表示されます。バッチファイル複数の結果が別々の変数になる

どのように個別の変数に設定するのですか?以下

testapp.exe -l 
340e42e15fc02fb99e7caf66565d3c881081390c 
4e8e93bd2a401c34e3d0d257de07af5d624521c6 

だけ結果が一つのデバイス

for /f "tokens=1 " %%a in ('testapp.exe') do set DEVICE1=%%a 

アイデアのときに動作しますか?

答えて

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]! 
+0

おかげで、私は結果を何%varible%を使用していますか? echo%device%|エコー%device1%| ETC – rcmpayne

+0

'device'が配列の名前であれば'%device [1]% 'は最初の要素、'%device [2]% 'は2番目の要素です。[here](https: /en.wikipedia.org/wiki/Array_data_structure#One-dimensional_arrays)、または[ここ](https://en.wikipedia.org/wiki/Comparison_of_programming_languages_(配列)#Indexing)、または上記の配列リンクの説明... – Aacini

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 
関連する問題