MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


バッチ作成における比較演算子の紹介
profile-img
投稿者: thirumaさん
投稿日:2019/07/02 13:26
更新日:
like-img
分類
技術
テクノロジー
Windows系サーバ
キャリア
運用・保守 / テクニカルサポート / 構築 / 設計
投稿内容

今回は比較演算子について紹介します。

比較演算子は、「2つの文字列を比較してその結果が正しい(真)の場合にコマンドを実行する」というものです。


構文は

if (/i) 文字列A 比較演算子 文字列B コマンド


となっております。


比較演算子の種類としては

[文字列A] equ [文字列B]  [文字列1][文字列2]が等しい

[文字列A] neq [文字列B]      [文字列1][文字列2]が等しくない

[文字列A] lss [文字列B]        [文字列1][文字列2]より小さい

[文字列A] leq [文字列B]       [文字列A][文字列B]以下

[文字列A] gtr [文字列B]       [文字列A][文字列B]より大きい

[文字列A] geq [文字列B]      [文字列A][文字列B]以上

となっております。


比較演算子を使う前にif,else を使った構文でバッチを作成します

今回は「2」「4」という数字を変数に代入します。


@echo off

set a=2

set b=4


以下コマンドで、aとbが同じの場合、「同じ値である」と表示し、aとbが違う場合「同じ値ではない」と

表示させるよう構成します。


if %a% equ %b% (
echo %a%と%b%は同じ値である
) else (
echo %a%と%b%は同じ値ではない
)


実際に、バッチを起動します。l


aとbが違う変数のため、elseより後ろのコマンド(aとbは同じ値ではない)が実行されました。


次に比較演算子を使ってaとbの比較を一気に行っていきます。

@echo off

set a=2
set b=4


if %a% equ %b% echo %a%と%b%は同じ数値である
if %a% neq %b% echo %a%と%b%は同じ数値ではない
if %a% lss %b% echo %a%は%b%より小さい数値である
if %a% leq %b% echo %a%は%b%以下の数値である。
if %a% gtr %b% echo %a%は%b%より大きい数値である。
if %a% geq %b% echo %a%は%b%以上の数値である。

バッチを実行してみます。

以上のように出力されました。

ここで、先程のコマンドを確認してみます。


if %a% equ %b% echo %a%と%b%は同じ数値である   →結果が偽のため、非表示。
if %a% neq %b% echo %a%と%b%は同じ数値ではない  →結果が真のため、表示。
if %a% lss %b% echo %a%は%b%より小さい数値である →結果が真のため、表示。

if %a% leq %b% echo %a%は%b%以下の数値である。  →結果が真のため、表示。
if %a% gtr %b% echo %a%は%b%より大きい数値である。 →結果が偽のため、非表示。

if %a% geq %b% echo %a%は%b%以上の数値である。  →結果が偽のため、非表示。


以上となり、バッチの起動結果と同様の結果が確認できました。


今回はバッチ作成時の比較演算について紹介しました。

ご覧いただき、ありがとうございました。


■参考元

https://qiita.com/sawa_tsuka/items/8edf3d3d33a0ae86cb5c

https://jj-blues.com/cms/wantto-comparenumber/






コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3