バッチスクリプト - 文法:初心者向けの包括ガイド
こんにちは、将来のプログラマーたち!バッチスクリプトの世界への旅にようこそ。あなたの近所の親切なコンピュータ教師として、私はバッチスクリプトの基本文法をガイドするのが楽しみです。コードを書いたことがない人も心配しないでください。我们从零开始、ステップバイステップで知識を築いていきます。では、コーヒー(またはあなたのお気に入りの飲み物)を片手に、さあ、始めましょう!
バッチスクリプトとは?
文法に詳しくなる前に、まずバッチスクリプトとは何かを理解しましょう。忙しい厨房のシェフを思い浮かべてください。一皿ずつ料理するのではなく、すべてのステップを組み合わせたレシピを作成します。それはまさにバッチスクリプトの所作です。Windowsが自動的に実行できるコマンドの系列です。すごいですね?
基本文法規則
どんな言語にもルールがあります。以下にいくつかの重要なポイントを覚えておきましょう:
- バッチファイルには
.bat
または.cmd
の拡張子があります。 - 各コマンドは通常、新しい行で始まります。
- バッチは大文字小文字を区別しません(しかし一貫性を持たせるのは良い習慣です)。
- コメントは
REM
または::
で始まります。
では、いくつかの基本的なコマンドと概念を見ていきましょう。
ECHOコマンド
ECHO
コマンドはあなたのスクリプトの「声」です。メッセージを画面に表示することでスクリプトが「話す」ことができます。以下にいくつかの例をみてみましょう:
ECHO Hello, World!
ECHO This is my first Batch script.
ECHO.
この例では、最初の2行はメッセージを表示します。3行目(ECHO.
)は空白行を表示します。文の間に息を潜めるようなものです!
ECHOをオンとオフにする
ときにはスクリプトを静かに動作させたいことがあります。その場合、ECHO OFF
が便利です:
@ECHO OFF
DIR
ECHO This message will be displayed.
@ECHO ON
DIR
以下のようになります:
-
@ECHO OFF
はコマンドの表示を無効にします(@
シンボルはコマンド自体が表示されないようにします)。 - 最初の
DIR
コマンドは無音で実行されます。 -
ECHO
コマンドはメッセージを表示します。 -
@ECHO ON
はコマンドの表示を再び有効にします。 - 2番目の
DIR
コマンドは実行中に表示されます。
変数
変数は情報を保持するための容器です。使い方を見てみましょう:
@ECHO OFF
SET name=John
ECHO Hello, %name%!
SET /A age=25
ECHO You are %age% years old.
このスクリプトでは:
-
SET
を使用して変数を作成します。 -
%variable_name%
で変数を使用します。 -
SET /A
は数値変数に使用されます。
条件文
条件文はスクリプトが決定を下すためのものです。IF文を見てみましょう:
@ECHO OFF
SET /A num=10
IF %num% EQU 10 (
ECHO The number is 10
) ELSE (
ECHO The number is not 10
)
このスクリプトはnum
が10に等しいかどうかをチェックします。等しい場合、メッセージを表示し、それ以外の場合は別のメッセージを表示します。
ループ
ループはアクションを繰り返すのに役立ちます。以下にシンプルなFORループを示します:
@ECHO OFF
FOR %%i IN (1,2,3,4,5) DO (
ECHO Number: %%i
)
このスクリプトは1から5までを数えます。子どもに数えさせるようなものです!
ドキュメント
ドキュメントはプログラミングにおいて非常に重要です。それは、将来の自分や他人がコードを読むためのメモのようなものです。バッチではREM
または::
を使用してコメントを追加します:
@ECHO OFF
REM This is a comment
:: This is also a comment
ECHO This line will be executed
コメントはコンピュータには無視されますが、人間がコードを理解するのに役立ちます。
最初のバッチスクリプトプログラム
それでは、すべてを組み合わせてシンプルなプログラムを作成してみましょう:
@ECHO OFF
REM This is our first Batch script program
ECHO Welcome to Batch scripting!
SET /P name=What's your name?
ECHO Nice to meet you, %name%!
SET /A age=0
SET /P age=How old are you?
IF %age% GEQ 18 (
ECHO You're an adult!
) ELSE (
ECHO You're still young!
)
ECHO Let's count to 5:
FOR %%i IN (1,2,3,4,5) DO (
ECHO %%i
PING -n 2 127.0.0.1 > NUL
)
ECHO Thank you for trying out this script, %name%!
PAUSE
このスクリプトは以下を行います:
- ユーザーに欢迎します
- 名前と年齢を尋ねます
- 是否成人を判定します
- 1から5までを数えます(数字の間に小さな遅延があります)
- さようならを言います
このスクリプトを実行してみてください!
一般的なバッチコマンド
以下は、役立つかもしれないいくつかの一般的なバッチコマンドの表です:
コマンド | 説明 |
---|---|
ECHO | メッセージを表示 |
SET | 変数を設定 |
IF | 条件実行 |
FOR | ループ |
REM | コメント |
PAUSE | 実行を一時停止 |
CLS | 画面をクリア |
DIR | ディレクトリの内容を表示 |
CD | ディレクトリを変更 |
COPY | ファイルをコピー |
DEL | ファイルを削除 |
結論
おめでとうございます!バッチスクリプトの世界への第一歩を踏み出しました。新しいスキルを学ぶ際には、練習が鍵です。自分でスクリプトを書いてみて、さまざまなコマンドを試してみてください。間違っても構いません。それが学びの過程です!
次のレッスンでは、さらに高度なバッチスクリプトの技術に詳しくなります。それまで、ハッピーコーディング!
Credits: Image by storyset