バッチスクリプト - 概要

こんにちは、未来のプログラマーたち!今日は、バッチスクリプトの世界に飛び込みます。あなたの近所の親切なコンピュータ教師として、この旅を案内するのを楽しみにしています。プログラミングの経験がなくても心配しないでください - 最初の基本から始めて、少しずつ進んでいきます。で、コーヒー(または私のようにホットチョコレート)を一杯取り、始めましょう!

Batch Script - Overview

バッチスクリプトとは?

バッチスクリプトは、コンピュータに対する指示のリストのようです。ロボットのシェフにレシピを書いていることを想像すると、それがここでの仕事です。ただし、コンピュータ向けです!これらのスクリプトは通常、.batまたは.cmd拡張子で保存され、Windowsオペレーティングシステム上で実行できます。

バッチスクリプトを学ぶ理由は?

「もっと洗練されたプログラミング言語があるのに、なぜバッチスクリプトに手を出すべき?」と疑うかもしれません。そうですね、若いパダワン様、バッチスクリプトはWindowsでの繰り返し作業を自動化するのに非常に便利です。そして、プログラミングの世界に足を踏み入れるのに最適な方法です!

開始する

最初のバッチスクリプト

まず、伝統的な「Hello, World!」プログラムから始めましょう。Notepadを開き、以下をタイプします:

@echo off
echo Hello, World!
pause

このファイルをhello.batとして保存し、ダブルクリックして実行します。画面に「Hello, World!」が表示されるはずです。

これを分解すると:

  • @echo off:コンピュータにコマンドを実行时不表示させます。
  • echo Hello, World!:メッセージを表示します。
  • pause:ウィンドウを開いたままにします。

おめでとうございます!あなたは初めてのバッチスクリプトを書いたのです!

基本コマンド

これから、基本的なコマンドを見てみましょう:

コマンド 説明
echo メッセージを表示
rem コメントを追加(人間向けのメモ、コンピュータは無視)
pause キー押下を待機
cls 画面をクリア
exit バッチスクリプトを終了

基本コマンドの使用例

@echo off
rem これはコメントです
echo バッチスクリプトへようこそ!
echo.
echo 画面をクリアするまでキーを押してください...
pause > nul
cls
echo 画面がクリアされました。
echo 終了するまでキーを押してください...
pause > nul
exit

このスクリプトでは:

  • remを使ってコメントを追加。
  • echo.で空行を表示。
  • pause > nulでメッセージなしでキー押下を待機。
  • clsで画面をクリア。

変数

変数は情報を保存するためのコンテナです。バッチでは、setを使って変数を作成します:

@echo off
set name=Alice
echo Hello, %name%!
pause

ここで、nameという変数を作成し、「Alice」という値を設定しています。そして、%name%を使ってその値を表示します。

ユーザー入力

ユーザーに情報を求めることもできます:

@echo off
set /p name=あなたの名前は何ですか?
echo あなたに会えて嬉しいです、%name%!
pause

/pフラグはコンピュータにユーザー入力を待機させます。

条件文

条件文により、スクリプトが決定を下すことができます。ifステートメントを見てみましょう:

@echo off
set /p age=あなたの年齢は何歳ですか?
if %age% geq 18 (
echo あなたは成人です!
) else (
echo あなたはまだ若者です!
)
pause

ここで、geqは「以上」という意味です。年齢が18歳以上の場合、メッセージを表示します。それ以外の場合は別のメッセージを表示します。

ループ

ループにより、アクションを繰り返すことができます。以下は簡単なforループです:

@echo off
for %%i in (1,2,3,4,5) do (
echo 番号: %%i
)
pause

このスクリプトは1から5まで数えます。に注意してください - バッチファイルではこれは必要です(コマンドプロンプトでは単一の%を使用します)。

すべてを組み合わせる

学んだことを組み合わせて、簡単な当てゲームを作ってみましょう:

@echo off
set /a secret=(%RANDOM% %% 10) + 1
set attempts=0

:guess
set /a attempts+=1
set /p user_guess=1から10の間で数を当ててください:

if %user_guess% equ %secret% (
echo 祝贺!あなたは%attempts%回目で当てました!
) else if %user_guess% lss %secret% (
echo 低すぎます!もう一度試してください。
goto guess
) else (
echo 高すぎます!もう一度試してください。
goto guess
)

pause

このスクリプトは:

  • 1から10の間のランダムな数を生成します。
  • ユーザーに数を当てるように求めます。
  • フィードバックを提供し、試行回数を記録します。
  • ループ(gotoを使って)を利用して複数回の当てを許可します。

結論

哇、私たちはどれだけ進んできたんだ!覚えておいて、バッチスクリプト(または任何のプログラミング)をマスターする鍵は練習です。これらのスクリプトを修正して、異なる概念を組み合わせ、最も重要なのは楽しむことです!

私の古いコンピュータ科学の教授がよく言っていたように、「プログラミングは自転車に乗るのと同じです。最初はよく転ぶかもしれませんが、一度慣れると、どうやってそれなしで生きていたのか不思議に思うことでしょう!」

codingを続け、好奇心を持ち、作品を保存するのを忘れないでください!

Credits: Image by storyset