HOWTO · Batch
バッチスクリプトの SET コマンドで//P を使用する
このチュートリアルでは、バッチスクリプトでの SET//P の使用法を示します。
SET は、変数を宣言して値を割り当てるときに使用される変数ですが、このコマンドで/P を使用することもあります。この記事では、SET コマンドで/P を使用する目的を説明します。
バッチスクリプトの SET コマンドで/P を使用する
ご存知のように、バッチスクリプトで変数を宣言するための一般的な形式は次のとおりです。
set VARIABLE_NAME=VALUE
このようにして、変数を直接宣言して値を割り当てることができます。
/P を使用すると、ユーザー入力から変数に値を割り当てることができます。この場合、このコマンドの一般的な形式は次のようになります。
SET /P VARIABLE_NAME=
ここで、ユーザーが入力する必要のある値の種類についてユーザーをガイドする場合は、次のような指示文字列を追加できます。
set /P VARIABLE="INSTRUCTIONAL STRING"
それを明確にするためにいくつかの例を見てみましょう。
この例では、ユーザーの数値を年齢として取得し、それを出力として表示します。ユーザーが提供する必要のある入力の種類についてユーザーをガイドするために、Enter your age: という説明文字列が含まれます。
その後、そのユーザー入力を取得して、変数 age に割り当てます。最後に、echo コマンドを使用して、出力として年齢を表示します。
私たちの例とその出力を見てください。
@echo off
set /p age="Enter your age: "
echo Your age is: %age%
pause
出力:
Enter your age: 23
Your age is: 23
次に、SET コマンドで/P を使用する別の例について説明します。
この例では、2つの変数を入力として受け取り、それらを合計して、結果を出力として表示します。ここでは、ユーザーから 2つの数値を 1つずつ入力する/P を指定した 2つの SET コマンドを使用します。
次に、ユーザーから取得した 2つの変数を合計した後、変数 c に値を割り当てる/A で別の SET コマンドを使用します。ここで、/A は、算術演算であることを意味します。
最後に、結果を出力として表示します。例と出力を見てみましょう。
@echo off
set /p a="Enter first number: "
set /p b="Enter second number: "
set /a c=%a%+%b%
echo Sum is: %c%
pause
プログラムの出力は以下のようになります。
出力:
Enter first number: 12
Enter second number: 12
Sum is: 24
このコマンドを使用して示したコードはバッチで記述されており、Windows CMD 環境専用であることに注意してください。