バッチスクリプト - 文法:初心者向けの包括ガイド

こんにちは、将来のプログラマーたち!バッチスクリプトの世界への旅にようこそ。あなたの近所の親切なコンピュータ教師として、私はバッチスクリプトの基本文法をガイドするのが楽しみです。コードを書いたことがない人も心配しないでください。我们从零开始、ステップバイステップで知識を築いていきます。では、コーヒー(またはあなたのお気に入りの飲み物)を片手に、さあ、始めましょう!

Batch Script - Syntax

バッチスクリプトとは?

文法に詳しくなる前に、まずバッチスクリプトとは何かを理解しましょう。忙しい厨房のシェフを思い浮かべてください。一皿ずつ料理するのではなく、すべてのステップを組み合わせたレシピを作成します。それはまさにバッチスクリプトの所作です。Windowsが自動的に実行できるコマンドの系列です。すごいですね?

基本文法規則

どんな言語にもルールがあります。以下にいくつかの重要なポイントを覚えておきましょう:

  1. バッチファイルには.batまたは.cmdの拡張子があります。
  2. 各コマンドは通常、新しい行で始まります。
  3. バッチは大文字小文字を区別しません(しかし一貫性を持たせるのは良い習慣です)。
  4. コメントは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. ユーザーに欢迎します
  2. 名前と年齢を尋ねます
  3. 是否成人を判定します
  4. 1から5までを数えます(数字の間に小さな遅延があります)
  5. さようならを言います

このスクリプトを実行してみてください!

一般的なバッチコマンド

以下は、役立つかもしれないいくつかの一般的なバッチコマンドの表です:

コマンド 説明
ECHO メッセージを表示
SET 変数を設定
IF 条件実行
FOR ループ
REM コメント
PAUSE 実行を一時停止
CLS 画面をクリア
DIR ディレクトリの内容を表示
CD ディレクトリを変更
COPY ファイルをコピー
DEL ファイルを削除

結論

おめでとうございます!バッチスクリプトの世界への第一歩を踏み出しました。新しいスキルを学ぶ際には、練習が鍵です。自分でスクリプトを書いてみて、さまざまなコマンドを試してみてください。間違っても構いません。それが学びの過程です!

次のレッスンでは、さらに高度なバッチスクリプトの技術に詳しくなります。それまで、ハッピーコーディング!

Credits: Image by storyset