2011-12-08 11 views
0

私は本当に複雑なバッチファイル(私が書いた最初の大きなファイル)をちょうど完成しました。最後の部分にはまっています。プログラムは、ユーザーが必要とする変数を生成する必要があります。私はその部分を理解しましたが、今私は彼らに電話するのに困っています。 これは私が(申し訳ありませんその簡単に説明よりもお見せするために)何が必要変数で変数を設定する - バッチ

set /A mquanto=%mquant% 
:varmakerstart 
set /p compname=Machine Number: 
echo set /A comp%mquanto%=\\LAB-%compname% 
set /A mquanto=%mquanto%-1 
if %mquanto% lss 1 goto startloop 
goto varmakerstart 
:startloop 
set /A mquanto=%mquant% 
:loop 
set /A tcomp= 

が変数TCOMPに4行で作成された変数のいずれかを設定する方法です、と私はできない持っているものですmquantの値よりも多かれ少なかれ変数があります。どんな漠然としていても大変申し訳ありません。私は必要なことを説明しようとします。

+2

私はあなたがしようとしていることを理解していませんが、おそらくこれは[別の変数の内容と同じ変数を設定する方法ですか?](http://stackoverflow.com/questions/8363019/how-to-他の変数の内容と同じ変数を設定する)。 – jeb

+0

私は別の変数で変数を命名しているので、ユーザが入力を入力すると(これはmquantoが5に等しいと仮定します)、変数comp5を作成します入力)とcomp4を作成する(それはcomp1に達するまでループします)などです。しかし、問題は、mquantoがユーザー定義であるため、プログラムの開始時に値がわからないということです何個の変数が出力されるか)、これらの変数のどれかにtcompを設定できるようにする必要があります。最後にこの次の行を追加する行に何かがあるかどうかを確認してください。 set /A tcomp = comp%mquanto% しかし、変数comp5の実際の値の代わりに値をcomp5 – user1087259

+0

に設定します – user1087259

答えて

0

あなたが他に等しくなるように変数を設定しようと、これは簡単な解決策であるならば....

set a= 
set b=1 
set /p a=?: 
if %a%==%b% goto :NEXT 

:NEXT 

you have entered the correct number! The number was %b%. 
ping localhost -n 3 >nul 

私は、これは少し役に立てば幸い!

関連する問題