バッチファイルでwhileループやdo-whileの処理を書く方法

バッチファイル

バッチファイルでは、繰り返し処理を行うための記述として、whileループやdo-whileループについて直接用意されてはいません。しかし、if文とgoto文を使って、これらのループ構造を作ることは可能です。

この記事では、バッチファイルでwhileループやdo-whileループのような処理を実装する方法を紹介します。

while ループの実装

whileループは、条件が真である間、コードブロックを繰り返し実行します。最初にループに到達した際、ループの条件を満たさない場合は、ループ内の処理は一度も行われません

バッチファイルでこのようなループを実現するには、if文とgoto文を組み合わせます。

@echo off
set /a counter=0

:whileLoop
if %counter% LSS 5 (
    echo %counter%
    set /a counter=%counter%+1
    goto whileLoop
)

pause

実行結果

0
1
2
3
4
続行するには何かキーを押してください . . .

do-while ループの実装

do-while ループは、条件が真である間、コードブロックを繰り返しす点ではwhileループと同じですが、最低1回はループ内の処理が行われる点がwhileループと異なります。

こちらも、if文とgoto文の組み合わせで実現できます。

@echo off
set /a counter=0

:doWhileLoop
  echo %counter%
  set /a counter=%counter%+1
if %counter% LSS 5 goto doWhileLoop

pause

実行結果

0
1
2
3
4
続行するには何かキーを押してください . . .

まとめ

本記事では、バッチファイルにおけるwhileループやdo-whileループの作り方を紹介しました。ループを使用する際には無限ループに陥らないように注意し、条件が適切に更新・判定されていることを確認してください。

タイトルとURLをコピーしました