コマンドプロンプトで色々とファイルを操作する方法(初心者向け・コピー編)

Winodwsユーザならバッチファイルを使って日々の業務で色々と時間短縮出来ることがあります。得てして、新人や若手の頃は単純作業が多かったりするものです。少しでも作業効率化に役立てればと思うものを紹介します。

copyコマンド編

単純に1ファイルをコピーする

とても簡単です。Windowsに用意されている『copy』コマンドを使用します。

C:\>copy FromText.txt ToText.txt

FromText.txt』にはコピー元のファイルのフルパスを、『ToText.txt』にはコピー先のフルパスを記述します。カレントディレクトリ内にコピー元のファイルがあるのであれば、コピー元のファイルをフルパスで記述する必要はありませんが、習慣としてフルパスで記載した方が後々のためかもしれません。

 

複数のファイルをコピーする

C:\>copy *.txt C:\ToDir

*.txt』がコピー元なので、ワイルドカードを使用してカレントディレクトリ内の全ての拡張子txtのファイルがコピー元と言う意味です。『C:\ToDir』がコピー先で、ここにはコピー先のディレクトリを記述します。例えば、全てのファイルをコピー対象としたい時には以下の様に記述します。

C:\>copy *.* C:\ToDir

先ほどと違うのは、コピー元の部分の記述が『*.*』となっています。そう、拡張子の部分がワイルドカードになっていることです。見境なく全てのファイルをコピーします。

 

複数のファイルを1つに結合

使う機会があるのか分かりませんが、たまに使用することもあります。

C:\>copy FromText1.txt+FromText2.txt ToText.txt 

3つ以上でも大丈夫です。「+」演算子を利用して何個でも結合が可能です。

C:\>copy FromText1.txt+FromText2.txt+... ToText.txt

ワイルドカードも使用出来ます。果たして利用することはあるのでしょうか。

C:\>copy *.txt ToText.txt

 

xcopyコマンド編

copyと違うのはcopyはファイルをコピーしますが、xcopyはファイルをディレクトリごとコピーしてくれるコマンドです。ディレクトリをまるっとコピーしたい時に使用しましょう。

 

ファイルをコピーする

copyコマンドと同様にファイルのコピーも可能です。

C:\>xcopy FromText.txt ToText.txt

ファイルコピーで色々する場合はcopyコマンドの部分を参照願います。

 

ディレクトリをコピーする

後にも先にもxcopyはこれに尽きます。基本的なコマンドは以下です。

C:\>xcopy C:\FromDir C:\ToDir¥

上記のコマンドで『C:\FromDir』以下の全てのディレクトリごと『C:\ToDir¥』以下にコピーされます。これだけならcopyコマンドで事足りると思われますが、xcopyには豊富なオプションが用意されています。本記事では業務上、有用なものをピックアップして紹介します。

 

上書きの確認

Windowsでファイルを手動でコピーする際に、コピー先に同名のファイルが存在する場合、上書きの確認のポップアップが表示されます。全て上書きする場合と、既に存在するなら上書きしたくない場合があると思います。その場合は『/Y』オプションを利用します。オプションはxcopyの後に記述します。以下は上書きする場合です。

C:\>xcopy /Y C:\FromDir C:\ToDir¥

上書きの確認を行う場合は以下の様に記述します。

C:\>xcopy /-Y C:\FromDir C:\ToDir¥

※上書きのオプションはcopyコマンドでも利用出来ます。しかしながら、複数ファイルも含めてコピーする場合はxcopyの方が頻度が高いので、こちらで説明させて頂きました。

 

更新日が新しいものを残したい

コピーの際に全て上書きしてしまうと、「実は更新日が新しいものがコピー先に存在していて、それは残したい」という場合があると思います。その場合は『/D』オプションを利用します。

C:\>xcopy /D C:\FromDir C:\ToDir¥

しかしながら、上書き判定が発生する度に確認を行うのは手間です。その場合は、オプションを複数利用します。

C:\>xcopy /Y /D C:\FromDir C:\ToDir¥

 

ディレクトリだけコピーしたい

全部コピーした後でファイル全部消すのは手間なので、ディレクトリだけをコピーする方法があります。

C:\>xcopy /T /E C:\FromDir C:\ToDir¥

/T』オプションはファイルが存在しているディレクトリのディレクトリのみをコピーします。ファイルが存在しないディレクトリはコピーしないので、 ファイルが存在しなくてもディレクトリをコピーしてくれる『/E』オプションを使用します。

 

まとめ

コマンドプロンプトのコピー操作について簡単に紹介させて頂きました。ファイルだけならcopyコマンド、ディレクトリも含めてコピーならxcopyコマンドと覚えて下さい。あとはオプションを組み合わせることで、いくつかの条件をクリアしつつコピーが出来ますので、基本的なことが理解出来たら色々試してみて下さい。