バッチスクリプト - デバイス
こんにちは、未来のプログラマーたち!今日は、バッチスクリプティングの興味深い世界に飛び込み、これらの強力な小さなスクリプトを使ってさまざまなデバイスとどのように対話できるかを探ってみましょう。あなたの近所の親切なコンピュータ教師として、私はこの旅を案内するのが楽しみです。哪怕你之前从未编写过一行コードでも、心配しないでください。バーチャルなメモ pads を手に取り、始めましょう!
バッチスクリプティングにおけるデバイスとは?
本題に入る前に、まず「デバイス」とはバッチスクリプティングの文脈で何を指すのかを理解しましょう。簡単に言えば、デバイスとはコンピュータに接続されたさまざまなハードウェアコンポーネントや周辺機器のことです。これには、ディスプレイ、キーボード、プリンター、そしてWindowsが特定の機能を表すために使用する特別なファイルなどが含まれます。
バッチスクリプティングでよくあるデバイス
以下は、バッチスクリプティングでよく遭遇するデバイスの表です:
デバイス名 | 説明 |
---|---|
CON | コンソール(キーボードとスクリーン) |
PRN | デフォルトのプリンター |
NUL | ヌルデバイス(いかなる入力も破棄) |
COM1-COM9 | セリアルポート |
LPT1-LPT9 | パラレルポート |
これで概要が分かったので、バッチスクリプトでこれらのデバイスを使う方法を見ていきましょう!
コンソール(CON)との対話
コンソール、CON
を表すデバイスは、おそらく最もよく対話するデバイスです。基本的には、あなたのキーボードとスクリーンです。
コンソールからの読み取り
まず、簡単な例から始めましょう:
@echo off
set /p name=あなたの名前は何ですか?
echo こんにちは、%name%!
pause
このスクリプトでは:
-
@echo off
でコマンドのエコーをオフにします。 -
set /p
を使ってユーザーに入力を促し、name
変数に保存します。 -
echo
を使ってユーザーに挨拶を表示します。 - 最後に、
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
このスクリプトでは:
- 5まで数えるとアナウンスします。
-
for
ループを使って1から5まで数えます。 - 各番号を表示し、短い停止(
ping
を使った遅延)を挟みます。 - 最後に「Blast off!」メッセージで終了します。
これを実行すると、数字が一つずつ表示され、ロケットのカウントダウンのように見えます!
ヌルデバイス(NUL)
NUL
デバイスはデータのブラックホールのようなものです。何かを送信すると、単に消失します。これは無駄に聞こえるかもしれませんが、不要な出力を抑えるのに非常に便利です。
以下に例を示します:
@echo off
echo これは表示されます。
echo これは表示されません。 > NUL
dir > NUL
echo ディレクトリリストを見ましたか?いえ!
pause
このスクリプトでは:
- 最初の
echo
は通常表示されます。 - 二つ目の
echo
はNUL
にリダイレクトされるため表示されません。 -
dir
コマンドの出力もNUL
に送信されるため表示されません。 - 最後の
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