コマンド: "IF" がオンです Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. 利用可能
コマンドの例 "IF"
の
`IF`Windows コマンド プロンプトのコマンドは、バッチ スクリプトで条件ステートメントを実行するために使用されます。ここではいくつかの例を示します。
例 1: 単純な等価性チェック:
@ECHO OFF
SET Variable1=10
SET Variable2=10
IF %Variable1% EQU %Variable2% (
ECHO 変数は同じです.
) ELSE (
ECHO 変数が等しくない.
)
説明:この例では、変数
`Variable1`そして
`Variable2`比較した。それらが等しい場合、「変数は等しいです。」というメッセージが表示されます。それ以外の場合は「変数が等しくない」と出力されます。
例 2: ファイルの存在を確認する:
@ECHO OFF
IF EXIST C:\例.txt (
ECHO ファイルは存在します.
) ELSE (
ECHO ファイルが存在しません.
)
説明:ファイル「Example.txt」が C:\ ディレクトリに存在するかどうかを確認します。ファイルが存在する場合は対応するメッセージが出力され、存在しない場合は別のメッセージが出力されます。
例 3: ユーザー入力の確認:
@ECHO OFF
SET /P ユーザー入力=値を入力してください:
IF "%ユーザー入力%"=="" (
ECHO 値が入力されていません.
) ELSE (
ECHO 彼らは持っている "%ユーザー入力%" 入力されました.
)
説明:ユーザーが値を入力したかどうかをチェックします。何も入力されていない場合は、「値が入力されていません。」というメッセージが表示されます。出力する場合は入力した文字列を表示します。
例 4: ファイル サイズの確認:
@ECHO OFF
SET ファイル=C:\例.txt
SET 最小サイズ=1024
FOR %%A IN (%ファイル%) DO SET ファイルサイズ=%%~zA
IF %ファイルサイズ% GEQ %最小サイズ% (
ECHO ファイルは最小サイズを満たしています.
) ELSE (
ECHO ファイルが小さすぎます.
)
説明:「Example.txt」ファイルのサイズを確認します。ファイル サイズが最小サイズ以上の場合 (
`最小サイズ`)、「ファイルは最小サイズを満たしています。」というメッセージが表示されます。それ以外の場合は、「ファイルが小さすぎます。」
例 5: オペレーティング システムの確認:
@ECHO OFF
VER | FIND "Windows 10" > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO あなたが使う Windows 10.
) ELSE (
ECHO 別のオペレーティング システムを使用しています.
)
説明:これは、オペレーティング システムが Windows 10 であるかどうかを確認します。その場合、「Windows 10 を使用しています。」というメッセージが表示されます。それ以外の場合は、「別のオペレーティング システムを使用しています。」
の
`IF`ステートメントを使用すると、バッチスクリプト内のさまざまな条件を確認し、結果に基づいて適切なアクションを実行することができます。
"IF" Microsoft Windows ヘルプからの抜粋
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINNT>
バッチ プログラム中で条件処理を実行します。
IF [NOT] ERRORLEVEL 番号 コマンド
IF [NOT] 文字列1==文字列2 コマンド
IF [NOT] EXIST ファイル名 コマンド
NOT 条件が偽の場合にだけ、Windows XP がコマンドを実行する
ことを指定します。
ERRORLEVEL 番号 最後のプログラムの実行で指定された番号以上の終了コード
が返されたときに、条件が真になるように指定します。
文字列1==文字列2 テキスト文字列が一致するときに条件が真になるように指定
します。
EXIST ファイル名 指定したファイル名が存在するときに条件が真になるように
指定します。
コマンド 条件が真のときに実行するコマンドを指定します。コマンドに
続けて、ELSE キーワードの後、指定した条件が偽の場合に
実行される ELSE コマンドを指定することができます。
ELSE 節は、IF の後のコマンドと同じ行に置きます。
例:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
del コマンドは、改行で終了しなければならないため、次の例は、正しく動作し
ません:
IF EXIST filename. del filename. ELSE echo filename. missing
ELSE コマンドは、IF コマンドの終わりと同じ行で始まらなければならないため、
次の例は正しく動作しません:
IF EXIST filename. del filename.
ELSE echo filename. missing
次の例のように、すべてのコマンドを 1 行にすれば正しく動作します:
IF EXIST filename. (del filename.) ELSE echo filename. missing
コマンド拡張機能を有効にすると、IF は次のように変更されます:
IF [/I] 文字列1 比較演算子 文字列2 コマンド
IF CMDEXTVERSION 番号 コマンド
IF DEFINED 変数 コマンド
比較演算子は、次のいずれかです:
EQU - 等しい
NEQ - 等しくない
LSS - より小さい
LEQ - 以下
GTR - より大きい
GEQ - 以上
/I スイッチを指定すると、文字列は、大文字と小文字を区別せずに比較され
ます。/I スイッチは、IF の 文字列1==文字列2 形式で使うこともできます。
この比較は汎用であり、文字列1 と 文字列2 が両方とも数字だけを含む場・
は、文字列が数値に変換され、数値の比較が行われます。
CMDEXTVERSION 条件は ERRORLEVEL と同様に動作しますが、コマンド拡張機能
に関連付けられている内部バージョン番号との比較を行います。最初のバー
ジョンは 1 です。コマンド拡張機能に重要な拡張が追加された場合は、値が
1 大きくなります。コマンド拡張機能が無効である場合は、CMDEXTVERSION は
条件は常に偽です。
DEFINED 条件は EXISTS と同様に動作しますが、環境変数名を受け取って、環境
変数が定義されている場合は真を返します。
%ERRORLEVEL% は、ERRORLEVEL の現在の値の文字列表記に展開されます。
ただし、ERRORLEVEL という名前の環境変数が既に定義されている場合は、その
環境変数の値が取得されます。プログラム実行後、次の例が ERRORLEVEL の使い方
を説明しています:
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
また、上の数値比較を使うこともできます:
IF %ERRORLEVEL% LEQ 1 goto okay
%CMDCMDLINE% は、CMD.EXE が処理する前の、CMD.EXE に渡されたオリジナル
のコマンド ラインに展開されます。ただし、CMDCMDLINE という名前の環境変数
が既に定義されている場合は、その環境変数の値が取得されます。
%CMDEXTVERSION% は、CMDEXTVERSION の現在の値の文字列表記に展開されます。
ただし、CMDEXTVERSION という名前の環境変数が既に定義されている場合は、その
環境変数の値が取得されます。
重要な情報、"IF" コマンドのヒント
を使用するときは、
`IF`Windows コマンド プロンプトでステートメントを実行するには、注意すべき重要な点がいくつかあります。
1.
条件構文:`IF`- ステートメントでは、条件を正確に表現する必要があります。比較演算子 (
`EQU`、
`NEQ`、
`LSS`、
`LEQ`、
`GTR`、
`GEQ`) は比較する値の間にある必要があります。予期しないエラーを避けるために、構文内のスペースに注意してください。
2.
引用符の使用:文字列を検証するときは、条件が正しく評価されるように引用符を使用することが重要です。例:
`IF "%Variable%"=="価値" ...`
3.
変数:条件で変数を使用する場合は、それらが正しく一致していることを確認してください。
`%`のように囲まれています
`%Variable%`。これにより、変数の値が条件に正しく挿入されることが保証されます。
4.
ELSE ステートメント: `ELSE`ステートメントは右括弧と同じ行になければなりません
`IF`新しい行に立つか、開始します。例:
IF 状態 (
Echo 条件は true.
) ELSE (
Echo 条件が偽です.
)
5.
注意事項`%ERRORLEVEL%`コマンドの後: `IF`コマンドの後に別のコマンドを実行すると、次のことができます
`%ERRORLEVEL%`このコマンドの成功または失敗を確認します。例:
DIR C:\存在しないディレクトリ
IF %ERRORLEVEL% NEQ 0 (
Echo 実行エラー DIR-指示.
)
6.
数値比較:数値比較については、次のことを行う必要があります。
`EQU`、
`NEQ`、
`LSS`、
`LEQ`、
`GTR`、
`GEQ`比較が正しく行われることを確認します。
7.
論理演算子:次のような論理演算子を使用できます。
`AND`(
`&&`) そして
`OR`(
`||`) 複雑な条件を作成します。例:
IF Exist ファイル.txt IF %Variable% EQU 価値 (
Echo どちらの条件も真です.
)
8.
他のコマンドとの組み合わせ:これを行うことができます
`IF`- ステートメントと他のコマンドを組み合わせて、条件に基づいてさまざまなアクションを実行します。
9.
空白:条件やコマンドに不要な空白を使用しないように注意してください。予期しない動作が発生する可能性があります。
の構文を理解することが重要です。
`IF`- 指示を注意深く理解し、望ましい動作を達成するための条件が正しく定式化されていることを確認してください。不明な場合は、Microsoft の公式ドキュメントまたはオンライン リソースを参照してください。