テンプレファイルを何回もコピーして名前を変えるの、面倒くさい!!
こんなことありませんか??
Excelなどでテンプレートとなるファイルがあって、それをもとにコピーして複数のファイルを作るとき・・
これをコピーして名前を変えるとき、普通は以下の手順でやりますよね。
一回ファイルをコピーして・・・
名前を変更!
まぁ、これが1,2個ならいいでしょう・・・
ただ、10個、20個もあったら!?
コピー&リネームを何度も何度も繰り返さないといけません!!
面倒くさい!!!
そんなときはコレ!!
こういう時は・コマンドプロンプトのコマンドと、Excelシートの合わせ技を使います。
コマンドプロンプトには、こんなコマンドがあります。
copy [コピー元ファイル] [コピー先ファイル]
たとえば、先ほどの操作をコマンドでやろうとすると・・・
copy "C:\仕事フォルダ\ファイルコピー\テンプレート.xlsx" "C:\仕事フォルダ\ファイルコピー\ファイル1.xlsx"
このコマンドで1発です。
この状態から・・・
こうして・・・
どん!!
ただ、この方法は1回だと逆に面倒ですよね。
ところが!!
これが複数ファイルになると、かなりの威力を発揮するんです!!
たとえば、
「テンプレート.xlsx」
をコピーして、
「ファイル1.xlsx」
から
「ファイル20.xlsx」
までの20個のファイルを作りたいとします。
そういう時には、
copy "C:\仕事フォルダ\ファイルコピー\テンプレート.xlsx" "C:\仕事フォルダ\ファイルコピー\ファイル1.xlsx" copy "C:\仕事フォルダ\ファイルコピー\テンプレート.xlsx" "C:\仕事フォルダ\ファイルコピー\ファイル2.xlsx" : copy "C:\仕事フォルダ\ファイルコピー\テンプレート.xlsx" "C:\仕事フォルダ\ファイルコピー\ファイル20.xlsx"
このコマンドを20個分生成すれば、まとめてコピーしてコマンドプロンプトに「貼り付け」すれば一発で20個のファイルコピー&リネームをしてくれます。
ただ、このコマンドをいちいち手で書いていては、やはりあまり効率がよくありません・・・
ここで、Excelシートを使います!
先ほどほどのコマンドを、すこしずつ区切ってセルに入力します。
A1~F1に入力されている文字をつなげれば、先ほどのコマンドになるのがわかりますね。
A1~F1のセルを、「&」でつないで・・・
Enter!
つながりましたね。
ここで、
B1セルに入っているのは、
「"」
じゃなくて
「 "」(半角スペースが1個入っている)
になっていることに気を付けてください。
そうしないと
copy "C:\仕事フォルダ\ファイルコピー\テンプレート.xlsx" "C:\仕事フォルダ\ファイルコピー\ファイル1.xlsx" ↑
ではなく
copy"C:\仕事フォルダ\ファイルコピー\テンプレート.xlsx" "C:\仕事フォルダ\ファイルコピー\ファイル1.xlsx" ↑
と、「copy」の後にスペースが入らず、エラーになってしまいます。
あとは、この式を下までコピーして・・・
(少し見ずらいので、画像クリックで拡大してご覧ください)
一旦ほかのファイル名を消して・・・
2個目のファイル名を記入
あとは、2ファイルを選択して、この位置にカーソルを合わせて・・・
ドラッグして・・・
離す!!
すると、G列に作りたかったコマンドが作られていませんか!?!?
あとは、G1~G20セルをまとめてコピーして、コマンドプロンプトにはりつけると・・・
一発!!
コピー完了!!
おおー!できましたね!!
そして、再利用へ・・・
いかがだったでしょうか。
このシートは、1度作ってしまえば、
あとは、C列のコピー元のファイル名、E列のコピー先のファイル名を変えれば何度でも、どんなファイル名でも使えます。
コピー先ファイルの名前が連番でなくても、シートから直接記入できるのでいくらでも応用できますね。
もちろん、VBAなどでもできるのですが、覚えることが非常に少なく誰にでも簡単に使えることがメリットだと思います。
Excelで文字列をつなげてコマンド生成というのは、コマンドプロンプトに限らずかなり応用の効くテクニックなので、今後他の使用方法も紹介していきたいと思います。