ワイルドカードを使って複数のファイルやフォルダを一気に処理しよう【初級編 第5回】
複数ファイルを一気に扱えるワイルドカードを使えるようになろう
ファイル・フォルダ操作の自動化講座、最後のテーマはワイルドカードです。これを扱えるようになると一つのコマンドで、複数のファイルやフォルダを処理できるパソコン操作自動化プログラムを作成できるようになります。
では、まずは過去に紹介したコマンドを見てみましょう。他のフォルダ(「テスト」フォルダ)に入っているファイル(「ファイル1.txt」ファイル)を現在のフォルダにコピーするプログラムです。
1 2 3 |
@echo off copy .\テスト\ファイル1.txt .\ |
これを「ファイル1をコピー.bat」というファイルに書き込んで実行しましょう。実行前に、「テスト」フォルダを作って、その中に「ファイル1.txt」ファイルを作っておきます。現在のフォルダ構成は下の画像の通りです。コマンドプロンプトも用意しておきました。
では、実行します。
現在のフォルダを再確認すると、
このように、「ファイル1.txt」がコピーされています。ここまでは、何も新しいことはしていませんね。
次は、二つのファイルをコピーするプログラムを作成しましょう。「ファイル1をコピー.bat」を改良して作っていきます。これをコピーして、「ファイルXをコピー.bat」を作りましょう。例えば、二つのファイル「ファイル1.txt」と「ファイル2.txt」をコピーしたい場合、これまで知識を使って書くと、
1 2 3 4 |
@echo off copy .\テスト\ファイル1.txt .\ copy .\テスト\ファイル2.txt .\ |
となります。ただ「copy」コマンドを二つファイルに対して書いただけですね。もちろんこれでも正解です。「テスト」フォルダに「ファイル2.txt」を追加して、実行すると、
のように、2つのコマンドが実行され、2つのファイルがコピーされます。
次に、100個のファイルをコピーするプログラムを作りましょう…と言われたらどうでしょうか?
数個程度のファイルであれば、いくつかコマンド並べて書いてもそこまでの手間ではありませんが、数十、数百のファイルを対象に処理をする場合、とても一つ一つコマンドを並べるのは非現実的です。
そこで、”ワイルドカード”の出番です。これは、文字のある部分を「ここは何の文字でもいいですよ」とする役割を持つものです。以下のプログラムコードをみてください。「ファイルXをコピー.bat」の内容を以下のように変更しました。
1 2 3 |
@echo off copy .\テスト\ファイル*.txt .\ |
「ファイル*.txt」の「*」が注目ポイントです。これがワイルドカードであり、ここにはどのような文字が入ってもよいのです。「*」に「1」が入れば、「ファイル1.txt」となりますし、「500」が入れば「ファイル500.txt」となります。
これによって、”ファイル”で始まり、”.txt”で終わるファイルであれば、どんなファイルでもコピーの対象になります。実行してみましょう。
2つのファイルが一気にコピーされていることが分かります。フォルダを見ても「ファイル1.txt」と「ファイル2.txt」がちゃんとコピーされているでしょう。これでファイルが100個あろうが1000個あろうがたったの一行ですべてのファイルをコピーできてしまいます。
では、もう一つプログラムの例を出しておきます。以下のプログラムはどのようなファイルが対象になるでしょうか。
1 2 3 |
@echo off copy .\テスト\* .\ |
コピー元のファイル名部分が「*」とだけなっています。「*」には何が入ってもいいのですから、これは「テスト」フォルダに入っているファイル全てがコピー対象という風になります。
ではもう一つ、
1 2 3 |
@echo off copy .\テスト\*.doc .\ |
はどうでしょうか?これはファイル名部分(拡張子の前部分)が「*」となっており、拡張子は「.doc」と限定されています。つまり、拡張子が「.doc」のものだけ、ワードファイルだけがコピー対象となるのです。
ここまで、「copy」コマンドを例にワイルドカードの説明を行ってきましたが、もちろん「move」や「del」コマンドなどすべてのコマンドで原則使用可能です。
1 |
del *.txt |
とすれば、拡張子が「.txt」のものだけを全て削除できますし、
1 |
move .\テスト\A*Z.txt .\ |
とすれば、Aから始まってZで終わるファイル名だけを移動することができます。
おわりに
初級編の最後である今回はワイルドカードというファイル・フォルダの自動操作には欠かせない機能について学習しました。これで、ファイル・フォルダの自動操作するプログラム「Windowコマンドプロンプト」の基本知識は習得しました。
初級編で、「Windowコマンドプロンプトがどのようなものか」、「パソコン操作の自動化はどのような手順で行っていくか」ということが何となく分かってもらえたでしょうか?自動化プログラミングがそんなに敷居の高いものでは無いという風に感じていただけたでしょうか?
初級編だけでは自分の作りたい自動化プログラムを作っていくにはまだまだ不十分だと思います。自分で自動化プログラムを不自由なく作れるようになるにはさらに学習が必要でしょう。
しかし、それはそんなに先のことではありません。ここまで来れた方ならば学習を続けていけば、必ず自分の作りたいプログラムを自在に作れるようなレベルへ到達することができると信じています。
中級編では、Windowコマンドプロンプトを使った、もっと深い知識を実践で使えるように学習していきます。どのようなことを学習するか例を挙げると、
- 2つのファイル内容の比較して、違いをファイルに出力する
- ユーザーから情報を受け取り、その情報を元に行う処理を変える
- 何度も同じ処理を繰り返すためのループ文の使用
などです。中級編が終われば、パソコンの自動化プログラミングに関しては、もうかなりのレベルと言っていいでしょう。
もっと学びたい方は是非中級編も続けてご覧ください。
「ファイル・フォルダ操作の自動化講座」を最後まで受けていただきありがとうございました。
<<【初級編 第4回】引数を使ってプログラムをより汎用的にしよう
自動化プログラムの作成を依頼しませんか?
幣サイトでは、Windowsパソコンの自動化プログラムの作成サービスを行っています。
本サービスの特徴は、
・安価な値段
・個人から法人までどなたでも対応
・お客様の要望を全力で実現
です。
安いからといって、決して手は抜きません。
まずは、下のボタンからWindowsパソコンの自動化プログラムの作成サービスの詳細をご確認ください。