[ホーム] - [バッチファイル サンプル一覧] - [set コマンドのオプション /a 有り、無しの違い | 足し算されない]

set コマンドのオプション /a 有り、無しの違い | 足し算されない | Windows バッチファイル






set で数字の足し算を行う


このページでは set コマンドに関して /a オプションを付加した場合と付加しない場合の違いに関して説明します。
特に set で数字の足し算をしようとしても足されなく悩んでいる方は参考にしてください。

/a オプションを指定した場合、右側の式を数式と判断し計算を実行します。

数字の足し算を行う


/a オプションを指定しているので 5+3 を計算しています。


C:\set x=3

C:\set /a y=%x%+5
8
C:\echo %y%
8




文字列の足し算を行う


/a オプションを指定していないため 数値の計算は行われません。単純な文字列の和として計算されています。

C:\set x=3

C:\set y=%x%+5

C:\echo %y%
3+5

以下は n に 1をプラスする処理を永遠に行います。実行時には注意してください。


set n=1
:loop
set /a n+=1
echo %n%
goto loop




オプション


以下はコマンドのヘルプからの参照です。


SET コマンドには、2種類の新しいスイッチが追加されています:

SET /A 式
SET /P 変数=[プロンプト文字列]

/A スイッチは、等号の右側の文字列が、評価する数式であることを
指定します。式の評価はごく単純で、次の操作がサポートされます。
操作は、優先順位の高い順に示されています:



まとめ


数値の計算をするときは a オプションが必須です。ただしバッチファイルで計算するには限界があります。powershell や VBS や bash on Windows (Subsystem for Linux) などの使用を検討しましょう。










本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [バッチファイル サンプル一覧]