バッチスクリプト - 変数

こんにちは、将来のプログラマーたち!今日は、バッチスクリプトの変数の面白い世界に飛び込みます。あなたの近所の親切なコンピュータ教師として、私はこの旅を一歩一歩ガイドします。プログラミングの経験がない方も心配しないでください。我们从最初から始め、少しずつ進んでいきます。まず、お気に入りの飲み物を一杯取り、始めましょう!

Batch Script - Variables

変数とは?

バッチスクリプトの変数の詳細に進む前に、変数とは一般的に何かを理解しましょう。変数は情報を保持するコンテナと考えてください。あなたがお気に入りのおもちゃを箱に収納するように、私たちはプログラム内でデータを保持するために変数を使用します。

コマンドライン引数

まずは楽しいことをから始めましょう - コマンドライン引数!これは、バッチスクリプトを実行する際に送信できる小さなメッセージです。

例1: Hello, Name!

@echo off
echo Hello, %1!

これを greet.bat として保存し、以下のように実行します:greet.bat John

ここで何が起こるのでしょう?スクリプト内の %1 は、私たちが提供する最初の引数に置き換わります(この場合、「John」)。したがって、スクリプトは「Hello, John!」と表示します。

例2: 複数の引数

@echo off
echo First argument: %1
echo Second argument: %2
echo Third argument: %3

これを args.bat として保存し、以下のように実行します:args.bat apple banana cherry

このスクリプトは以下のように表示します:

First argument: apple
Second argument: banana
Third argument: cherry

%n(nは番号)は提供された順序の引数を表します。

set コマンド

set コマンドは、バッチスクリプトで変数を作成する魔法の杖です。使い方を見てみましょう!

例3: シンプルな変数の作成

@echo off
set message=Hello, World!
echo %message%

このスクリプトを実行すると、「Hello, World!」が表示されます。set コマンドは、message という名前の変数を作成し、「Hello, World!」という値を割り当てます。そして %message% を使用してその内容を表示します。

例4: ユーザー入力

@echo off
set /p name=What's your name?
echo Nice to meet you, %name%!

set コマンドの /p フラグを使用すると、ユーザーに入力を促すことができます。このスクリプトはユーザーの名前を尋ね、それに基づいて挨拶します。

数値の操作

バッチスクリプトは数値も扱うことができます!数学的な操作を見てみましょう。

例5: 基本的な算術

@echo off
set /a result=5+3
echo 5 + 3 = %result%

set /a result=10-4
echo 10 - 4 = %result%

set /a result=6*2
echo 6 * 2 = %result%

set /a result=15/3
echo 15 / 3 = %result%

/a フラグは、set が算術を扱うことを示します。このスクリプトは加算、減算、乗算、除算を示しています。

例6: より複雑な計算

@echo off
set /a result=(10+5)*2
echo (10 + 5) * 2 = %result%

set /a result=20%%3
echo 20 %% 3 = %result%

ここでは、括弧を使用して計算の順序を指定し、%% を使用して剰余を計算しています。

ローカル変数とグローバル変数

バッチスクリプトでは、変数は通常グローバルであり、スクリプト全体でアクセス可能です。しかし、コードのブロック内にローカル変数を作成することもできます。

例7: グローバルとローカル変数

@echo off
set global_var=I'm global!

setlocal
set local_var=I'm local!
echo Inside block: %local_var%
echo Global variable: %global_var%
endlocal

echo Outside block: %local_var%
echo Global variable: %global_var%

このスクリプトは、ローカル変数がブロック内でのみアクセス可能であり、グローバル変数はどこからでもアクセス可能であることを示しています。

環境変数の操作

環境変数は、Windowsがシステム全体の情報を保存するための特別な変数です。

例8: 環境変数の表示

@echo off
echo Your username is: %USERNAME%
echo Your home directory is: %USERPROFILE%
echo The current date is: %DATE%
echo The current time is: %TIME%

このスクリプトは、いくつかの一般的な環境変数を表示します。Windowsはこれらを多く提供しています。

例9: カスタム環境変数の作成

@echo off
setx MY_CUSTOM_VAR "Hello from the environment!"
echo %MY_CUSTOM_VAR%

setx コマンドは永久的な環境変数を作成します。新しいコマンドプロンプトを開かないと変更が反映されない場合があります。

結論

おめでとうございます!あなたはバッチスクリプトの変数の世界への最初の一歩を踏み出しました。練習は完璧に近づけるものですので、これらの例を試してみて、自分自身のスクリプトを作成してみてください。

以下は、私たちが学んだコマンドの簡単な参照表です:

コマンド 説明
%n コマンドライン引数にアクセス
set 変数を作成または修正
set /p ユーザー入力を使用して変数を作成
set /a 算術演算を実行
setlocal ローカル変数ブロックを開始
endlocal ローカル変数ブロックを終了
setx 環境変数を作成

ハッピースクリプティング、そしてあなたの変数が常に正確に定義されていることを願っています!

Credits: Image by storyset