中身は同じファイルだけど、担当者別や日付別など複数ファイルを作らないといけないとき、いちいちコピー&ファイルリネームを一つずつするのは面倒ですよね。
効率化できないものか、、と色々調べてみましたが、以下方法だと多少効率化できたので紹介します。ルーティンの業務だと、毎回の作業が楽になると思います。
コマンドプロンプトとは?
今回使用するのはコマンドプロンプトというWindowsに標準装備されているアプリです。以下のように真っ黒な画面ですね。
コマンドプロンプトでファイルをコピーするには
コマンドプロンプトでファイルをコピーするには、以下の記述を行います。
copy コピーするファイル コピー後のファイル
copyと記述することで、対象ファイルをコピーすることができます。
注意点としては、
・「copy」、「コピーするファイル」、「コピー後のファイル」それぞれの間にはスペースをいれる
・「コピーするファイル」、「コピー後のファイル」にはそれぞれ拡張子を記載する(エクセルファイルであれば「xlsx」など)
などが挙げられます。
EXCELを使って記述を効率的に
ただコマンドプロンプトに記述する文を一つずつ書いていたら面倒ですよね。少しでも楽するために、EXCELを使用してみました。
今回はサンプルとして、Cドライブの直下に「テスト」というフォルダを作成し、そのフォルダに格納している「日報」エクセルファイルを数日分コピーしてみたいと思います。
「日報」というエクセルファイルを、1月1日~10日分でコピーする場合、以下のように記述しました。
順番に解説していきたいと思います。
・A列:B列~I列に記載している文字列を結合したもの、今回はconcatenate関数を使用しています。
・B列:使用するコマンドを記載しています(今回はファイルコピーのため、「copy」コマンドを記載)
・C、E列:表面上は見えませんが、スペースを入力しています。
・D列:「コピーするファイル」を記載しています。(今回はサンプルのため、使用する際には実際のファイルパスとファイル名、拡張子を記載してください)
・F~I列:「コピー後のファイル」を記載しています。
※concatenate関数とは?
→2つ以上のセル内の文字列を結合させることができる数式です。「&」を使用して文字列を結合しても結果は同じですが、今回は結合させる文字列が多いため、より簡単に結合できるconcatenate関数を使用しました。
※F~I列の解説について
→今回はコピー元ファイルを1日~10日分コピーするため、H列に1月○日の記載を追加しました。
→G列のアンダーバーはなくても大丈夫ですが、ファイル名を見やすくするため、今回は記載しました。
→拡張子を記載しないと正しくファイルコピーができないため、I列に拡張子を記載しています。F列の「コピー後のファイル1」には拡張子を記載せず、リネーム後のファイル名の後に拡張子を記述することにご注意ください。
EXCELを使い、一括でコピーファイルを作成
ここまでできたらあともう一歩!EXCELの記述内容をコマンドプロンプトにコピー&ペーストで完了です。
上記エクセルのセルA2~A11をコピーし、コマンドプロンプトにペーストすると、以下のような画面になり、ファイルがコピーされます。
こちらがコピー&ペーストした結果です。ちゃんと指定したファイルが作成されていますね。
今回は「日報」エクセルファイルをコピーしたため、日付がついているファイルは全て、「日報」エクセルファイルと同じ中身になります。
今回は日付でファイル名をコピーしましたが、日付を社員名や支店名などに変更することも可能です。
実際は使用するファイルパスとファイルに合わせ、カスタマイズしてみください!
いかがだったでしょうか。ルーティンでやる内容だったら、少しでも効率化していきたいですよね。今回の内容が少しでも参考になれば幸いです。
コメント