次の項目は別ページに分割しました。
関連ページ:
コマンドプロンプトの基本的な使い方は次のページにまとめています。
if 文
比較演算子
==
: 文字列の比較equ
: 等号neq
: 不等号gtr
: 大なりlss
: 小なりgeq
: 大なりイコールleq
: 小なりイコール
使用例
if "%response%"=="OK" (
echo That's OK!
)
Code language: DOS .bat (dos)
ドキュメント:
参考:
バッチファイルで if 文をトラブルなく使う – Qiita
IF – バッチファイルで条件分岐を使う | JavaDrive
if – 条件分岐 | 知識ゼロからの Windows バッチファイル超入門
バッチファイルで文字列を比較する | 知識ゼロからの Windows バッチファイル超入門
バッチファイルで、空の変数の判定処理 | system2222
論理和 (or)
参考:
バッチファイルで if 文条件分岐 or に関する質疑 – teratail
ファイルの存在を判定する (if exist)
if exist ...
: 存在を判定するif not exist ...
: 不存在を判定する
使用例
if exist
の後にファイルのパス及びコマンドを続けて記述する。
if exist "path\to\file" (
echo File Found!
) else (
echo File Not Found!
)
Code language: DOS .bat (dos)
参考:
ファイルが存在している場合にのみコマンドを実行する | 知識ゼロからの Windows バッチファイル超入門
ファイルの存在を確認する | ikuyani knowledge
フォルダの存在を確認する | ikuyani knowledge
バッチでフォルダやファイルの存在チェックを行う方法/if exist 文の活用 | Rainbow Engine
ファイル有無を確認するバッチファイル備忘録 | SE からの脱出日記
using EXIST in a batch on a file when current directory contains whitespace – Super User
コマンドのエラーを判定する (errorlevel)
type hoge.txt
if %errorlevel% equ 0 (
echo OK!!
) else (
echo Error!!
)
Code language: DOS .bat (dos)
参考:
errorlevel – 終了コードを取得する | 知識ゼロからの Windows バッチファイル超入門
バッチファイルでエラーレベルが取れない/遅延環境変数の展開 | マコトのおもちゃ箱
よくハマるバッチスクリプト/遅延環境変数 | パブリックソフトウエア株式会社
for 文内の errorlevel 取得について – teratail
フォルダが空かどうか判定する
dir
コマンドと find
コマンドを組み合わせ、エラーレベルで判定する。
dir /b /a "path\to\dir" | find /v "" > nul
if %errorlevel% equ 0 (
echo Not Empty!
) else (
echo Empty!
)
Code language: DOS .bat (dos)
ドキュメント:
参考:
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