バッチファイルの使用、パート2
このヒントは、 linkUsing Batch Files、Part 1というタイトルのヒントに基づいているため、先に進む前に確認することをお勧めします。具体的には、「C:\ Bat \ Fun.bat」というファイルを使用しているため、コマンドプロンプトウィンドウを表示し、デフォルトのディレクトリをC:\ Batに変更します。 Fun.batを編集するには、メモ帳を起動します。現在、次のようになっています。
@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file. DIR %1
ファイルの最後のコマンドはDIRコマンドです。バッチファイルに渡された最初のパラメータとして指定されたフォルダのディレクトリリストを作成します。リストを画面に表示したくない場合は、「>」文字を使用して出力をファイルに送ることができます。それでは、2つのパラメーターを受け入れるようにFun.batを変更しましょう。 1つ目は、ディレクトリリストを取得するフォルダであり、2つ目は、この出力を送信するファイルです。バッチファイルは次のようになります:
@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file. DIR %1 > %2
コマンドラインで2番目のパラメーターを指定することを除いて、以前と同じように呼び出します。
C:\Bat> Fun.bat C:\Temp C:\Temp\Dirlist.txt
バッチファイルを実行すると、C:\ Temp \ Dirlist.txtというファイルが作成されます。このファイルには、C:\ Tempディレクトリ内のすべてのファイルのディレクトリリストが含まれています。
C:\ Tempディレクトリに何千ものファイルがあるとします。長いリストを調べる代わりに、特定のファイルがそこにあるかどうか、およびその大きさだけを知りたい場合があります。これを行うには、DIRコマンドの出力を新しいコマンドFINDに「パイピング」します。
一般に、出力データ(DIRによって生成されるものなど)を生成するほとんどのコマンドは、すべて同じ行で別のコマンドへの入力として使用できます。これは「配管」と呼ばれ、この操作に使用される文字は垂直バー( “|”)です。入力を期待するコマンド(この場合はFIND)は、「パイプ」文字(垂直バー)の右側に表示されます。それでは、以前のDIRコマンドを、出力をFINDにパイプするコマンドに置き換えましょう。
@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file. DIR %1 | FIND "Dirlist"
この変更の効果は、指定されたフォルダーでDIRコマンドを実行することですが、その出力をFINDコマンドに送信します。FINDコマンドは、その出力で文字列「Dirlist」を検索し、結果を画面に出力します。 1つのパラメーター(DIRを実行するフォルダー名)のみを渡すことに注意してください。忘れて2番目のパラメータを指定した場合でも、問題はありません。バッチファイルには「%2」がないため、追加のパラメータは無視されます。
このヒントで最後に取り上げるのは時間です。現在の時刻を表示する「TIME / T」というコマンドがあります。バッチジョブを指定された秒数だけ一時停止させるTIMEOUTというコマンドもあります。最後に、バッチファイルで使用できる別の特殊文字、つまりアンパサンド( “&”)があります。同じ行に表示される2つ(またはそれ以上)のコマンドを連結します。これらのコマンドを使用して、現在の時刻を表示し、5秒間待ってから、新しい時刻を画面に書き込みます。バッチファイルは次のようになります。
@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file. DIR %1 | FIND "Dirlist" ECHO The current time is & TIME /T TIMEOUT 5 ECHO The new current time is & TIME /T
それはバッチファイルについてもう少しです。彼らができることはもっとたくさんありますが、彼らについてもっと書く前に、どれだけの関心があるかを測りたいと思います。興味がある場合は、以下のコメントで、バッチファイルについてさらに学習したいかどうかを示してください。
このヒント(13103)は、Windows 7、8、および10に適用されます。