バッチスクリプト - デバイス

こんにちは、未来のプログラマーたち!今日は、バッチスクリプティングの興味深い世界に飛び込み、これらの強力な小さなスクリプトを使ってさまざまなデバイスとどのように対話できるかを探ってみましょう。あなたの近所の親切なコンピュータ教師として、私はこの旅を案内するのが楽しみです。哪怕你之前从未编写过一行コードでも、心配しないでください。バーチャルなメモ pads を手に取り、始めましょう!

Batch Script - Devices

バッチスクリプティングにおけるデバイスとは?

本題に入る前に、まず「デバイス」とはバッチスクリプティングの文脈で何を指すのかを理解しましょう。簡単に言えば、デバイスとはコンピュータに接続されたさまざまなハードウェアコンポーネントや周辺機器のことです。これには、ディスプレイ、キーボード、プリンター、そしてWindowsが特定の機能を表すために使用する特別なファイルなどが含まれます。

バッチスクリプティングでよくあるデバイス

以下は、バッチスクリプティングでよく遭遇するデバイスの表です:

デバイス名 説明
CON コンソール(キーボードとスクリーン)
PRN デフォルトのプリンター
NUL ヌルデバイス(いかなる入力も破棄)
COM1-COM9 セリアルポート
LPT1-LPT9 パラレルポート

これで概要が分かったので、バッチスクリプトでこれらのデバイスを使う方法を見ていきましょう!

コンソール(CON)との対話

コンソール、CONを表すデバイスは、おそらく最もよく対話するデバイスです。基本的には、あなたのキーボードとスクリーンです。

コンソールからの読み取り

まず、簡単な例から始めましょう:

@echo off
set /p name=あなたの名前は何ですか?
echo こんにちは、%name%!
pause

このスクリプトでは:

  1. @echo offでコマンドのエコーをオフにします。
  2. set /pを使ってユーザーに入力を促し、name変数に保存します。
  3. echoを使ってユーザーに挨拶を表示します。
  4. 最後に、pauseでコンソールウィンドウを開いたままにします。

このスクリプトを実行すると、あなたが名前を入力してEnterを押すのを待ちます。まるでコンピュータと会話しているようなものです!

コンソールへの書き込み

次に、少し楽しいことを試みましょう:

@echo off
echo 5まで数えます!
for /l %%i in (1,1,5) do (
echo %%i
ping -n 2 localhost >nul
)
echo Blast off!
pause

このスクリプトでは:

  1. 5まで数えるとアナウンスします。
  2. forループを使って1から5まで数えます。
  3. 各番号を表示し、短い停止(pingを使った遅延)を挟みます。
  4. 最後に「Blast off!」メッセージで終了します。

これを実行すると、数字が一つずつ表示され、ロケットのカウントダウンのように見えます!

ヌルデバイス(NUL)

NULデバイスはデータのブラックホールのようなものです。何かを送信すると、単に消失します。これは無駄に聞こえるかもしれませんが、不要な出力を抑えるのに非常に便利です。

以下に例を示します:

@echo off
echo これは表示されます。
echo これは表示されません。 > NUL
dir > NUL
echo ディレクトリリストを見ましたか?いえ!
pause

このスクリプトでは:

  1. 最初のechoは通常表示されます。
  2. 二つ目のechoNULにリダイレクトされるため表示されません。
  3. dirコマンドの出力もNULに送信されるため表示されません。
  4. 最後のechoでディレクトリリストを見なかったことを確認します。

これは、コマンドを実行しながらコンソールを clutter させないために非常に便利です。

プリンターとの対話(PRN)

最近はプリントする機会が減りましたが、バッチスクリプトはまだプリンターと対話できます。PRNデバイスはデフォルトのプリンターを表します。

以下に簡単な例を示します:

@echo off
echo これはテストプリントジョブです。 > PRN
echo プリンターを確認してください!
pause

このスクリプトは、デフォルトのプリンターに一行のテキストを直接送信します。注意してください - 紙を無駄にしないでください!

セリアルポートとパラレルポート(COMとLPT)

古いハードウェアや特別な機器を扱っている方にとって、バッチはセリアル(COM)ポートとパラレル(LPT)ポートとも対話できます。

以下に例を示します:

@echo off
echo こんにちは、デバイス! > COM1
echo COM1にデータを送信しました
pause

このスクリプトは「こんにちは、デバイス!」を最初のセリアルポートに送信します。もちろん、そのポートにデバイスが接続されていないと効果はありません。

結論

そして、みなさん!デバイスに関するバッチスクリプティングの旋風的なツアーが終わりました。コンソールとの会話から、ヌルデバイスへの秘密のメッセージ、そしてプリンターやセリアルポートへの挨拶まで、あなたは簡単なバッチコマンドを使ってコンピュータのさまざまな部分と対話する力を持っています。

忘れないでください、バッチスクリプティング(または他のプログラミング)をマスターする鍵は練習です。ですから、これらの例を試してみて、修正してみて、何が起きるかを確認してください。もしかしたら、次の偉大なバッチスクリプトの杰作を創作するかもしれません!

次回まで、ハッピー scripting!

Credits: Image by storyset