チープなようでいて、ちょっとした対応に意外と使えるWindowsバッチファイル(bat)。
基本的な起動方法をメモしておきます。日々の作業を効率化して、時間を有効に使いましょう。ちりもつもれば山となる。
目次
Windowsバッチファイルとは
バッチファイル(英: batch file)とは、MS-DOS、OS/2、Windowsでのコマンドプロンプト(シェル)に実行させたい命令列をテキストファイルに記述したもの。(Wikipediaより)
ルーチンワークをあらかじめひとまとめにしておいて、ワンタッチでポン!という感じです。
テキスト形式のファイル(メモ帳などで直接編集可能)で、拡張子「bat」で保存されます。
実行方法:batファイルをそのまま実行
作成したバッチファイルは、エクスプローラ上からダブルクリックしたり、コマンドプロンプトでファイルを指定することで実行できます。
コマンドプロンプトから実行する場合は、batファイル名のあとに半角スペース、値の順に入力すると、「引数」を渡すことができます。
1 2 3 4 |
@echo off rem メッセージを表示 echo こんにちは%1 PAUSE |
直接起動すると「こんにちは」と表示されるだけですが、コマンドプロンプトから引数付きで実行すると「しらたまさん」という文字列が追加されます。「%1」が1個目の引数と解釈され、その値を表示するように記述しているためです。
実行方法:ファイルをドロップして実行
ファイルをbatファイルにドラッグアンドドロップすることでも起動できます。
ファイルのパスが引数として渡されます。複数ファイルを投げ込むことも可能。その場合は割り当てられる引数名が「%2」、「%3」と増えていきます。
1 2 3 4 |
@echo off rem メッセージを表示 echo あなたの投げ込んだファイルは 「%1」 です。 PAUSE |
10個以上の引数はそのままでは使えません。「shift」を使えばそれっぽいことはできます。
実行方法:フォルダをドロップして実行
ファイルでなくフォルダを投げ込むこともできます。以下のようにforループを使えば、フォルダに格納されているファイルを対象に処理を実行できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@echo off rem メッセージを表示 echo あなたの投げ込んだファイルは 「%1」 です。 rem 作業ディレクトリを移動 cd /d %1 rem すべてのファイルを対象にする for %%a in (*.*) do ( rem ファイル名を表示 echo %%a ) pause |
実行方法:右クリック→「送る」から実行
C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\SendTo
にバッチファイルを保存すると、右クリックメニューの「送る」から起動することができます。
引数は、そのとき選択されているフォルダ(ファイル)です。