0

私の Windows バッチ ファイルには、さまざまな量の変数があります。次の変数があるとします。

set varTest1=test1
set varTest2=test2
set otherVar=variable500
set varS=string
set yetAnotherVar=foo

それらは本当に意味がありませんが、それは重要ではありません。で始まる変数のすべての値を出力するメソッドを探していますvar。したがって、特定のヘルプ パラメータを使用してバッチを実行すると、で始まる 3 つの変数すべてvarとその値が出力されるはずです。出力は次のようになります。

These are the available variables:
varTest1 : test1
varTest2 : test2
varS : string

パラメータを読み取るために次を作成しました。

IF "%1" == "" ( 
echo No help parameter was set. Program will exit. ) ELSE ( 
IF "%1" == "help" ( 
call :showAllAvailableVars ) ELSE (
echo Do something else))

今、私は私の方法を持っているでしょう

:showAllAvailableVars

解決策はメソッドで解決できると思いますが、主にファイル用であり、独自のプログラム変数を検索するためではないため、findstrその方法を理解できませんでした。findstr

4

2 に答える 2

2

異なる変数の代わりに配列を作成します。お気に入り、

set var[0]=test1

set var[1]=test2

set var[2]=string

次に、「showAllAvailableVars」関数でこれを行います

for /L %%i in (1,1,%n%) do echo !var[%%i]!

于 2012-08-27T12:44:43.250 に答える
0

set varで始まるすべての変数を出力するために使用できますvar
も参照してくださいset /?

于 2012-08-27T12:53:53.840 に答える