if 文

比較演算子
  • ==文字列の比較
  • equ等号
  • neq不等号
  • gtr大なり
  • lss小なり
  • geq大なりイコール
  • leq小なりイコール
使用例
if "%response%"=="OK" ( echo That's OK! )
Code language: DOS .bat (dos)

参考:

バッチファイルで if 文をトラブルなく使う – Qiita

IF – バッチファイルで条件分岐を使う | JavaDrive

バッチファイルの if コマンド解説 – Qiita

if 文のサンプル | ITSakura

if 文 | 山本ワールド

if – 条件分岐 | 知識ゼロからの Windows バッチファイル超入門

バッチファイルで文字列を比較する | 知識ゼロからの Windows バッチファイル超入門

if | so-zou.jp

if | Windows コマンド虎の巻

if | Programming Field

バッチで変数の空チェック – Qiita

バッチファイルで、空の変数の判定処理 | system2222

バッチファイルの if で空文字を比較する | DT日記

if | Microsoft Docs [公式]

論理和 (or)

参考:

バッチファイルで if 文条件分岐 or に関する質疑 – teratail

ファイルの存在を判定する (if exist)

if exist の後にファイルのパス及びコマンドを続けて記述する。

if exist "path\to\file" (
    @echo ファイルあり
) else (
    @echo ファイルなし
)

参考:

指定したファイルが存在するかどうか判定する | ぱそまき

ファイルが存在している場合にのみコマンドを実行する | 知識ゼロからの Windows バッチファイル超入門

ファイルの存在を確認する | ikuyani knowledge

フォルダの存在を確認する | ikuyani knowledge

バッチでフォルダやファイルの存在チェックを行う方法/if exist 文の活用 | Rainbow Engine

ファイル有無を確認するバッチファイル備忘録 | SE からの脱出日記

コマンドのエラーを判定する (errorlevel)

type hoge.txt
if %errorlevel% equ 0 (
    @echo OK!!
) else (
    @echo Error!!
)

参考:

errorlevel – 終了コードを取得する | 知識ゼロからの Windows バッチファイル超入門

フォルダが空かどうか判定する

dir コマンドと find コマンドを組み合わせ、エラーレベルで判定する。

dir /b/a "path\to\dir" | find /v "" > nul
if %errorlevel% equ 0 (
    echo Not Empty!
) else (
    echo Empty!
)

参考:

フォルダが空かどうか | Heartache Reborn

find | Windows コマンド虎の巻

dir | Windows コマンド虎の巻

dir | Windows コマンド集

dir | Microsoft Docs [公式]

フォルダ内に何もないかチェック – Yahoo! 知恵袋

Check folder is empty using batch command? – Stack Overflow

How to detect if folder is not empty? – Stack Overflow

check for anything in folder – Stack Overflow

How to find all empty directories using batch – Super User

How to loop though sub folder to check if folder is empty? – Server Fault

How to check the output of a command is empty in bat file? – Super User

batch script to move x number of files to empty folders – Super User

for 文

set /a i=0 for %%a in (%*) do ( set /a i+=1 ) echo %i% args passed.
Code language: DOS .bat (dos)

参考:

バッチファイルの for コマンド解説 – Qiita

バッチファイルの for / if 文の中で変数使う際につまづくこと – Qiita

FOR – バッチファイルで繰り返し処理を使う | JavaDrive

for – バッチファイルで繰り返し処理をする | 知識ゼロからの Windows バッチファイル超入門

バッチファイルでループ処理する | 知識ゼロからの Windows バッチファイル超入門

繰り返し処理をする | コマンドプロンプトの予感

意外と知られていないけど、知っていると便利な FOR コマンド | Web / DB プログラミング徹底解説

for コマンド – 繰り返し処理を行う | @IT

for | Microsoft Docs [公式]

遅延変数

遅延変数を有効にするには、setlocal コマンドに enabledelayedexpansion を指定する。

setlocal enabledelayedexpansion
Code language: DOS .bat (dos)

遅延変数として参照するには、感嘆符で変数名を囲む。

set /a i=0 for %%f in (%*) do ( set /a i+=1 echo !i!: %%~nxf )
Code language: DOS .bat (dos)

参考:

バッチファイル界の魔境「遅延環境変数」に挑む- Qiita

遅延変数のサンプル if 文/for 文の注意点 | ITSakura

代入時の注意 (ENABLEDELAYEDEXPANSION) | FreeBSD あれこれ

setlocal | Microsoft Docs [公式]

コマンドの実行結果を変数に入れる

こちらのページを参照

参考:

コマンド実行結果を環境変数に代入する方法 – Qiita

cmd.exe で Bash のバックティックのようにコマンドの出力を埋め込む – Qiita

バッチファイルでコマンドの実行結果を変数に格納する | まくまくノート

コマンドの実行結果を変数にセットする | コマンドプロンプトの予感

バッチファイルでコマンド出力展開 | 幸熱日記

ラベルを使う (goto)

参考:

無限ループする | コマンドプロンプトの予感

無限ループするバッチファイルの作り方!ラベルを使って何度も処理させてみよう! | Correct-Log

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA