dポイントプレゼントキャンペーン実施中!

コマンドプロンプトから実行するコマンド
2つを、100回繰り返したいのですが、
バッチファイルで100回繰り返すにはどうしたらよいでしょうか?
単純にForで出来ると思っていたのですが、
dosのバッチファイルのforはちょっと違うみたいで、ほかの言語のように
for(){繰り返したい処理}
ということが出来ないみたいで、
しかも変数<100というのも出来ない?
ようで(INで0 1 2 3・・・のように指定するのですね・・・?)
戸惑っています。
変数を使ってインデントして100で終了させようと思ったのですが、変数も使えない・・・??のですね。(使えるのでしょうか??)
そこでWSHで一セット分のコマンドのバッチファイルを作ってWSHからそれを100回呼ぼうかと思ったのですが、いまいち方法がわかりません。
また、wshの中で直接dosコマンドが使えると最もよいのですが・・・。
詳しい方がいましたら教えていただけると幸いです。

A 回答 (2件)

補足です。


コマンドは1つしか使えないわけではありません。複数コマンドの区切りとして「&」や「&&」、「||」などを使用できます。またBATファイルには演算用のコマンドは参考URLをご覧になってください。

ご所望のBATファイルを書くとこうなります
FOR /L %%I IN (1,1,100) DO echo %%I & SET /A %%I * %%I

参考URL:http://forum.nifty.com/fpcu/dosvcmd/set.htm
    • good
    • 0
この回答へのお礼

とても助かりました。

ありがとうございました!

お礼日時:2005/01/20 22:16

DOSのBATファイル中で、For文を使って繰り返し処理はできますよ。

参考URLに詳しく書いてありますので、ご覧ください。
OSが何かわかりませんが、WindowsNT/2000/XPでは、FOR文は拡張されていますので、FOR文も使える幅が広くなっていると思います。

参考URL:http://forum.nifty.com/fpcu/dosvcmd/batch.htm#for

この回答への補足

ありがとうございます。
/Lオプションですね!
ためしに1から100まで表示させてみましたがうまくいきました。
実はコマンドを2つをセットにして100回行いたいのですが、
コマンドはひとつだけしか実行できないのでしょうか?
ためしに別のバッチファイルをもうひとつ作り、
for文で呼んでみたところ実行は出来たのですが、
バッチファイルが2つになってしまう、
あまりスマートではないような気がする、
というきがするのですが・・・。

あと、演算子はつかえないのでしょうか?
たとえば
FOR /L %%I IN (1,1,100) DO echo %%I
これだとIを単純にそのまま表示していますが、
I*Iを表示したい場合、方法はありますか??

補足日時:2005/01/20 12:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!