目次
- この記事について
- ファイルの作成・編集・削除
- フォルダの作成・編集・削除
- ファイル内容の編集
- ファイル内容の比較
- プログラム・ソフトを起動する
- バックアップシステムの作成
- バッチでできることをもっと知りたい
この記事について
ここでは、「バッチファイルで何ができるのか」をいくつかの例を出しながら紹介していきます。バッチファイルのプログラムコードのイメージを掴んでもらうため、プログラムも併せて載せています。内容は分からなくても「こんな感じのプログラムなんだ」と雰囲気が伝わればよいと思っています。
何ができるのか一言で箇条書きにしてあった方がよい方は「やりたいことから検索」の欄を見ていただくのも良いでしょう。
読者の方にとって「バッチファイルが自分のために役に立ちそうであるか」の判断材料になれば幸いです。もし、「バッチ使える!」「学びたい!」と思いましたら、「windowsバッチ 入門講座」では詳しく丁寧な初心者向けの講座を掲載しておりますので是非活用下さい。
ファイルの作成・編集・削除
バッチファイルは基本的にコマンドプロンプト上にコマンドを入力してパソコンを操作するものです。以下がコマンドを入力するコマンドプロンプトになります。
ちなみに、このコマンドプロンプトはWindowsならどのパソコンにも標準で入っているものです。皆さんのパソコンでも開こうと思えば、すぐにでも起動できます。このインストール要らずな点もバッチファイルの魅力です。
さて、バッチファイルでは、ファイルの作成と編集、そして削除といったファイルの操作が可能です。これはバッチを使った操作でもっとも使用頻度の高い操作と言えます。
既に存在するファイルをコピーしてファイルを作成するには、コマンドプロンプト上で、
1 |
copy file.txt file_copy.txt |
と入力すると既存の「file.txt」ファイルがコピーされ新規に「file_copy.txt」ファイルが出来上がります。一番左にある「copy」というのがバッチファイルのコマンドです。これはファイルをコピーするコマンドで、それに続けてコピーしたいファイルやコピー後のファイル名を指定したりして使用します。
その他にもファイルを操作するコマンドは多くあり、例えばファイル名を変更する場合は、
1 |
rename file.txt file_rename.txt |
と入力します。この場合は「file.txt」ファイルの名前が「file_rename.txt」に書き換わります。「rename」はファイル名を変更するコマンドです。
ファイルの削除は、
1 |
del file.txt |
です。
フォルダの作成・編集・削除
フォルダに関しても新規に作成することができます。
1 |
mkdir folder |
とすれば新規に「folder」フォルダが出来上がります。
既存のフォルダを中身ごとコピーする場合は、
1 |
xcopy folder folder_new |
とします。「folder」フォルダがコピーされ「folder_new」フォルダが作成されました。「xcopy」コマンドは前節で紹介した「copy」コマンドの機能が強化されたコマンドです。よくバックアップ用のコマンドとして利用されています。
フォルダ名の変更と削除はファイルの場合と同様で、
1 2 |
rename folder folder_rename del folder |
とします。
ファイル内容の編集
バッチコマンドを利用すればファイル名を変更するだけでなく、ファイル内に書かれてある内容を編集することもできます。
1 |
echo sentence > file.txt |
とすれば、「file.txt」に「sentence」という文字が書き込まれます。これは、「file.txt」のファイルが存在している必要はありません。存在しない場合は新しく作ってくれます。「>」はファイルへ書き込むという指示です。
また、「>」を使う場合は元々書いてあった文字は消され上書きされるのに対して、「>>」は元々書いてあった内容の下に付け足される形で記述します。
1 |
echo sentence >> file.txt |
とすれば、「file.txt」に元々書いてあった内容の下に「sentence」という文字が追加されます。
ファイル内の特定の文字列を一括置換することもできます。以下のプログラムはファイル内の「woman」という文字を「girl」に置き換えています。
1 2 3 4 5 6 7 8 |
setlocal enabledelayedexpansion for /f "delims=" %%a in (input.txt) do ( set line=%%a echo !line:word=moji! ) end local |
このバッチファイルは少々複雑ですね。操作が高度になると、プログラムも複雑になってきます。しかし、覚えてしまえば難しいことはないですし、覚えることも他の言語に比べると圧倒的に少ないです。(そのせいで、できることも限られてはきますが…)
以下、実行後のファイル内容の変化です。「woman」がすべて「girl」に置き換えられました。
ファイル内容の比較
二つのファイルの内容を比較することもできます。人間の目では時間がかかる膨大な内容でも瞬時に相違点だけを抜き出してくれます。個人的な意見ですが、バッチファイルのファイル比較機能は非常に優秀だと思います。
「file1.txt」と「file2.txt」ファイルの内容を比較したい場合以下のように入力します。
1 |
fc file1.txt file2.txt |
これで、「file1.txt」と「file2.txt」のファイル間で違いがある行がピックアップされ表示されます。以下は実行結果であり、二つのファイル内容に違いがある行の内容と行数が表示されています。
プログラム・ソフトを起動する
windowsにインストールされてるソフトを起動することができます。
以下は、メモ帳を起動するコマンドです。
1 |
notepad.exe |
メモ帳以外にも様々プログラムやソフトを自動で起動することができます。これで、バッチファイルを起動したユーザーにファイルの編集を促したりできます。
バックアップシステムの作成
バッチを使ったバックアップシステムの構築は「xcopy」コマンドを使って実現できます。
以下はそのプログラム例です。
1 |
xcopy C:¥User¥username¥myfolder F:¥backup /D /E /C /Y /R |
このプログラムは、「myfolder」フォルダの中身を「backup」フォルダへバックアップします。これを発展させて、夜中に自動でパソコンを立ち上げ、バックアップを取ったあと再び電源を切るシステムを作ることができます。
これに関しては、「入門講義【13章】 夜中に自動でバックアップを取る」に詳しく解説していますので興味のある方は参考にして下さい。
バッチでできることをもっと知りたい
ここで紹介したのは、バッチファイルのほんの一部の機能でした。紹介したもの以外にもバッチの便利な使い方はたくさんあります。バッチで簡単な計算を行ったり、ファイル名に日付を付けたり、名前に共通の文字があるファイルを一括して集めてきたり…
もっとできることを見たい方は「やりたいことから検索」をご覧ください。
現在、手作業でパソコン操作を行っている方は是非バッチファイルを学んでみて下さい。作業効率アップ間違いなしです。本サイトでは、初心者向けのバッチファイル入門講座を掲載しています→「windowsバッチ 入門講座」。
また、様々な質問やご要望にもお答えしておりますので、お気軽にご相談下さい→「お問い合わせ」。
URL:https://jj-blues.com/cms/column-batcando/
内の、以下の記述のプログラム例が適切ではないようです。
ファイル内の特定の文字列を一括置換することもできます。以下のプログラムはファイル内の「woman」という文字を「girl」に置き換えています。