2016-04-13 9 views
2

VAR1〜VAR10が ""と等しくない場合、.batをチェックインしようとしています。もしそうならば、私はvarの内容をエコーし​​たい。下記の実例と同じようにバッチ内に複数のVARが存在するかどうか確認する(VAR1からVAR10まで)

FOR /L %%G IN (1,1,10) DO (
     IF "%SYSTEM%%%G" NEQ "" (
       echo %SYSTEM%%%G% 
       ) 
     ) 

私は何時間も試していますが、誰かが私のためのヒントを持っています。

+0

を使用する必要があります10166386/array-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990#10167990 – Aacini

答えて

2

活用if definedと値を取得するために遅れて展開:http://stackoverflow.com/questions/:

@echo off 

set system1=1 
set system5=9 
set system10=5 

setlocal enableDelayedExpansion 
for /l %%# in (1,1,10) do (
    if defined system%%# (
     echo system%%# dedfined : !system%%#! 
    ) 
) 
+0

あなたは世界最高です!ありがとう! – jow

0

あなたは参照してくださいEnableDelayedExpansionverify if variables are Defined

@echo off 
set Var1= 
set Var2= 
set Var3=3 
set Var4=4 
set Var5=5 
set Var6= 
set Var7= 
set Var8=8 
set Var9=9 
set Var10=10 
setlocal enableDelayedExpansion 
FOR /L %%G IN (1,1,10) DO (
     if defined Var%%G (
      echo Var%%G=!Var%%G! 
      ) 
     ) 
endlocal 
pause 
関連する問題