バッチファイルで使えるコマンド |
バッチファイルで使えるコマンドを解説しています。 シリーズ第1作 2作目以降は気が向いたら(笑) |
@echo off echo offは、以後の処理メッセージをいちいち画面に表示しないための命令。 これをecho onとすると、いちいち表示してうるさいので、通常はoffにしておく。 batファイル作成時のデバッグのために、onを使うこともある。 また、行頭の@は、その一行だけecho offとするための命令。 echo offが実行されるまでは、初期値がecho onであるため、それをうち消す目的で使用する。 set DefFloppyDrive1=A: set DefFloppyDrive1_L=a: set DefFloppyDrive2=B: set DefFloppyDrive2_L=b: setは、続く変数(DefFloppyDrive…)に値(A:など)を代入する命令。 上の例では、「DefFloppyDrive1」に「A:」という文字が代入された。 set DefFloppyDrive=%1 代入する値が「%1」となっているが、これはbootdisk.batを実行するときの引数を表す。 bootdisk a: とコマンドラインに入力すると、引数「%1」は「a:」になる。 cls clsは、画面全体を初期化する命令。不要なメッセージなどが画面にあるとじゃまなので、削除する目的で使う。 :CHECK 「:」で始まるのがラベル。GOTO命令の行き先として使います。 if not exist EBD\NUL goto NODIR かなり高度な技です。 3つの命令の意味は、if「もしも」、exist「存在するなら」、goto「〜へ行きなさい」で、 存在を問われているのは「EBD\NUL」というファイルで、 行き先は「NODIR」という名前のラベル(下の方にあります)です。 「not」はexistを否定しているので、全体を訳しますと、 「もしもEBD\NULが存在しなかったら、NODIRラベルに行きなさい」になります。 EBD\NULが存在していたら、次行を続けて実行します。 ここで注意したいのが、EBD\NULです。こんな名前のファイルは、存在しないし、作ることも不可能です。 本来なら\の後ろのNULというのはフォルダまたはファイル名を示すはずですが、NULという文字は 予約文字で、EBDというフォルダを作ると自動的に作成されるデバイスなのです。 つまりここではEBDというフォルダが存在しているかどうかをEBD\NULというデバイスの有無で判断して いるのです。 for
%%a in (*.*) do fc /b c:\dir1\*.* c:\dir2\*.* > dif.txt |