.BAT ファイルとは何ですか?
BAT ファイルは、DOS およびすべてのバージョンの Windows で cmd.exe の下で実行されるバッチ ファイルとして知られています。これは、Windows 内でのメンテナンス ユーティリティの実行や一般的なプログラムの起動など、さまざまなタスクを実行するためにコマンド ライン インタープリターによって実行されるプレーン テキストの一連のライン コマンドで構成されます。バッチ ファイルには、インタープリターが対話的に受け入れることができる任意のコマンドを含めることができ、バッチ ファイル内に記述されている条件分岐とループを有効にするコードの構造を使用できます。
BATファイル形式
BAT ファイル形式は、本質的に反復的なコマンド シーケンスを自動化するために組み込まれた単なるスクリプトです。 「バッチ」という用語は、バッチ処理に使用されますが、「非対話的な実行」と見なすことができます。したがって、バッチ ファイルは、複数のデータのバッチを処理できない場合があります。古いディスク オペレーティング システム (DOS) では、ファイル名と拡張子 .bat を入力して、コマンド ライン インターフェイスでバッチ ファイルを実行していました。 Microsoft Windows などの初期の Microsoft グラフィカル インターフェイス ベースのオペレーティング システムは、DOS に依存していました。ユーザーは、Windows の修復、最適化、再インストールなどの一般的な操作を実行するために DOS を使用する必要がありました。その後、マイクロソフトは、DOS オペレーティング システムに依存しない Windows NT を導入しました。したがって、最新の Microsoft オペレーティング システムでは、コマンド プロンプトまたは cmd.exe を使用してバッチ ファイルを実行できます。
バッチファイルのパラメータ
コマンド プロンプトは、バッチ ジョブの名前とパス、およびバッチ ジョブ内からの 9 つの呼び出しパラメーターを参照するために、%0、%1 から %9 などの多くの特殊変数をサポートしています。存在しないパラメータは、長さゼロの文字列に置き換えられます。ただし、環境変数と同様に使用できますが、環境には保存されません。 Microsoft と IBM は、これらの変数を置換パラメーターと呼んでいますが、Novell、Digital Research、および Caldera は、これらの変数の置換変数という用語を導入しました。
便利なバッチ ファイル コマンドを次に示します。 | |コマンド |説明 | ——|————| | | VER |このバッチ コマンドは、使用している MS-DOS のバージョンを表示します。 | | |ASSOC|これは、拡張子をファイル タイプ (FTYPE) に関連付けたり、既存の関連付けを表示したり、関連付けを削除したりするバッチ コマンドです。 | | |CD|このバッチ コマンドは、別のディレクトリに変更を加えたり、現在のディレクトリを表示したりするのに役立ちます。 | | |CLS|このバッチ コマンドは、画面をクリアします。 | | |コピー|このバッチ コマンドは、ある場所から別の場所にファイルをコピーするために使用されます。 | | |削除|このバッチ コマンドは、ディレクトリではなくファイルを削除します。 | | |DIR|このバッチ コマンドは、ディレクトリの内容を一覧表示します。 | | |日付|このバッチ コマンドは、システムの日付を見つけるのに役立ちます。 | | |エコー|このバッチ コマンドは、メッセージを表示したり、コマンドのエコーをオンまたはオフにしたりします。 | | |終了|このバッチ コマンドは、DOS コンソールを終了します。 | | |MD|このバッチ コマンドは、現在の場所に新しいディレクトリを作成します。 | | |移動|このバッチ コマンドは、ディレクトリ間でファイルまたはディレクトリを移動します。 | | |パス|このバッチ コマンドは、パス変数を表示または設定します。 | | |一時停止|このバッチ コマンドは、ユーザーにプロンプトを表示し、入力行が入力されるのを待ちます。 | | |プロンプト|このバッチ コマンドを使用して、cmd.exe プロンプトを変更またはリセットできます。 | | |RD|このバッチ コマンドはディレクトリを削除しますが、削除する前にディレクトリを空にする必要があります。 | | |レン|ファイルとディレクトリの名前を変更します | |レム|このバッチ コマンドは、バッチ ファイル内のコメントに対して使用され、コメントの内容が実行されないようにします。 | | |開始|このバッチ コマンドは、新しいウィンドウでプログラムを起動するか、ドキュメントを開きます。 | | |時間|このバッチ コマンドは、時刻を設定または表示します。 | | |タイプ|このバッチ コマンドは、1 つまたは複数のファイルの内容を出力に出力します。 | | |ボリューム|このバッチ コマンドは、ボリューム ラベルを表示します。 | | |属性|現在のディレクトリ内のファイルの属性を表示または設定します | |CHKDSK|このバッチ コマンドは、ディスクに問題がないかどうかをチェックします。 | | |選択|このバッチ コマンドは、オプションのリストをユーザーに提供します。 | | |CMD|このバッチ コマンドは、コマンド プロンプトの別のインスタンスを呼び出します。 | | |COMP|このバッチ コマンドは、ファイル サイズに基づいて 2 つのファイルを比較します。 | | |変換|このバッチ コマンドは、ボリュームを FAT16 または FAT32 ファイル システムから NTFS ファイル システムに変換します。 | | |ドライバークエリ|このバッチ コマンドは、インストールされているすべてのデバイス ドライバーとそのプロパティを表示します。 | | |拡大|このバッチ コマンドは、圧縮された .cab キャビネット ファイルからファイルを抽出します。 | | |検索|このバッチ コマンドは、ファイルまたは入力で文字列を検索し、一致する行を出力します。 | | |フォーマット|このバッチ コマンドは、Windows がサポートする FAT、FAT32、NTFS などのファイル システムを使用するようにディスクをフォーマットし、ディスクの以前の内容を上書きします。 | | |ヘルプ|このバッチ コマンドは、Windows 提供のコマンドの一覧を表示します。 | | |IPCONFIG|このバッチ コマンドは、Windows IP 構成を表示します。接続ごとの構成とその接続の名前を表示します。 | | |ラベル|このバッチ コマンドは、ディスク ラベルを追加、設定、または削除します。 | | |もっと|このバッチ コマンドは、1 つまたは複数のファイルの内容を一度に 1 画面ずつ表示します。 | | |ネット|使用するコマンドに応じて、さまざまなネットワーク サービスを提供します。 | | |ピン|このバッチ コマンドは、指定されたアドレスにネットワーク経由で ICMP/IP “エコー” パケットを送信します。 | | |シャットダウン|このバッチ コマンドは、コンピューターをシャットダウンするか、現在のユーザーをログオフします。 | | |ソート|このバッチ コマンドは、ソース ファイルから入力を取得し、その内容を A から Z または Z から A のアルファベット順に並べ替えます。コンソールに出力を出力します。 | | |SUBST|このバッチ コマンドは、ドライブ文字をローカル フォルダーに割り当てたり、現在の割り当てを表示したり、割り当てを削除したりします。 | | |システム情報|このバッチ コマンドは、コンピューターとそのオペレーティング システムの構成を表示します。 | | |タスクキル|このバッチ コマンドは、1 つまたは複数のタスクを終了します。 | | |タスクリスト|このバッチ コマンドは、タスク名とプロセス ID (PID) を含むタスクを一覧表示します。 | | |XCOPY|このバッチ コマンドは、より高度な方法でファイルとディレクトリをコピーします。 | | |ツリー|このバッチ コマンドは、現在のディレクトリのすべてのサブディレクトリのツリーを任意のレベルの再帰または深さまで表示します。 | | |FC |このバッチ・コマンドは、2 つのファイル間の実際の相違点をリストします。 | | |DISKPART |このバッチ コマンドは、ディスク パーティションのプロパティを表示および構成します。 | | |TITLE |このバッチ コマンドは、コンソール ウィンドウに表示されるタイトルを設定します。 | | |セット |現在のシステムの環境変数のリストを表示します。 | |
BAT ファイルの例
通常、バッチ スクリプトは単純なテキスト ファイルとして保存されます。シーケンスで実行されるコマンドを含みます。これらのファイルは .bat 拡張子で保存されます。 Command Interpreter ソフトウェアを使用して認識および実行されます。このソフトウェアは、Microsoft Windows で cmd.exe という名前でネイティブに利用できます。
現在のディレクトリ内のすべてのファイルを削除するサンプル バッチ スクリプトを次に示します。
:: Deletes All files in the Current Directory With Prompts and Warnings
::(Hidden, System, and Read-Only Files are Not Affected)
:: @ECHO OFF
DEL . DR