ファイルをコピー・結合する copy

copy
簡単に使えるコマンドのご紹介です。
今回ご説明するのは、copyというファイルの複製・結合を行う為のコマンド。 GUI環境でのコピーと同じ様にファイルをコピーしたり、また複数のファイルを単体のファイルに結合して まとめるなどという便利な機能を持っています。
このcopyと似た機能を持つコマンドにxcopyというものがありますが、 xcopyがディレクトリごとコピーを行えるのに対し、copyで行えるのは ファイルのコピー・結合のみ。
copyの拡張版であるxcopyの方が複雑な処理を行う事が出来て便利なのですが、 とりあえず先にcopyを説明してしまおうと思います。
それでは、今回も最後まで宜しくお願い致します。

このページのトップへ

以下はcopyの書式とオプションの一覧です。
copy [/d] [/v] [/n] [/y | /-y] [/z] [/a | /b]
 送り側 [/a | /b] [+ 送り側 [/a | /b] [+ ...]]
 [受け側 [/a | /b]]
送り側 コピー元のファイルを指定する。複数可
受け側 コピー先。コピー元の内容を受ける新しいファイルのファイル名、またはディレクトリ名を指定
/a ファイルをASCIIテキストファイル(テキスト形式)としてコピー
/b ファイルをバイナリファイルとしてコピー
/d 送り側(コピー元)のファイルが暗号化されている場合、受け側には暗号化を解除してコピーする
/v コピーされたファイルが正しく書き込まれたかどうかを検査する
/n 送り側のファイル名が長い場合、可能ならば受け側のファイル名を短いものにする(8+3形式のファイル名)
/y 受け側に同名のファイルが存在する場合、既存のファイルを上書きする前に確認メッセージを表示しない
/-y 受け側に同名のファイルが存在する場合、既存のファイルを上書きする前に確認メッセージを表示する
/z ネットワーク利用でのコピー中に接続が切断された場合、ネットワークが再接続されればコピーを再開する
copyは、ファイルのコピーや結合を行うコマンドです。
送り側(コピー元)には1つまたは複数のファイルを指定する事ができ、ワイルドカードの使用も可能。 受け側(コピー先)には、コピー内容を受ける新しいファイル名やディレクトリ名を指定します。
C:¥>copy 送り側 受け側
送り側(コピー元)にパスだけを指定してファイル名を省略した場合(*.*を指定したのと同じ)には、 そのディレクトリの内容を受け側(コピー先)に指定したディレクトリへコピーします。
また、受け側(コピー先)にディレクトリ名だけを指定し、ファイル名を指定しなかった場合には、 送り側(コピー元)と同じ名前のファイルを指定したディレクトリにコピーします。
C:¥>copy ¥bbb C:¥bbb¥ccc bbbディレクトリの内容をcccディレクトリへコピー
なお、ファイルサイズが0バイトのファイルに関してはコピーする事が出来ません。
このページのトップへ
もしも受け側(コピー先)のディレクトリに、指定したファイル名と同名の ファイルが存在している場合は、既存のファイルを上書きするかどうかの確認メッセージが表示されます。
但し、環境変数COPYCMDで「/y」 が設定されている場合は上書き確認をしません。
/yは上書き確認をしないオプション)
確認メッセージを表示したい場合は「/-y」 を指定します。
/-yは上書き確認をするオプション)
C:¥bbb>copy qq.txt ccc¥
ccc¥qq.txt を上書きしますか? (Yes/No/All): n 確認される
        0 個のファイルをコピーしました。

C:¥bbb>
C:¥bbb>copy /y qq.txt ccc¥
        1 個のファイルをコピーしました。 確認されない

C:¥bbb>
なお、デフォルトの設定では確認メッセージは表示されます。
このページのトップへ
copyでは、送り側(コピー元)や 受け側(コピー先)にファイルだけでなく、デバイス名・・・ CON(コンソール)、COM1(シリアルポート)、LPT1(パラレルポート)、PRN(プリンター) などを指定する事も出来ます。
yy.txtにcon(キーボード)から入力した内容をコピー

C:¥bbb>copy con yy.txt
ajughksofkasl      ←コピーされる
nvhskgilfl        ←コピーされる
^Z            ←Ctrl+Zで終了
        1 個のファイルをコピーしました。

C:¥bbb>
このページのトップへ
copyによるファイルの結合
送り側(コピー元)の複数のファイルを一つに結合したい場合、
受け側(コピー先)にはファイル名を指定します。
この際、送り側(コピー元)の複数ファイルは「+」で連結して 記述します。
C:¥bbb>copy aa.txt+bb.txt zz.txt  zz.txtに結合
aa.txt
bb.txt
        1 個のファイルをコピーしました。

C:¥bbb>
複数のファイルを連結コピーする際、受け側(コピー先)に新しいファイル名を指定しなければ、 送り側(コピー元)として指定した一番はじめのファイルに 全てのファイル内容が結合されます。
C:¥bbb>copy aa.txt+bb.txt
aa.txt            aa.txtに結合される
bb.txt
        1 個のファイルをコピーしました。

C:¥bbb>
送り側(コピー元)にパスのみ(ファイル名を指定しない)を記述した場合は ワイルドカード(*.*)が指定された事になるので、 受け側の新しいファイルに、送り側の全てのファイル内容が結合されます。
※この場合(ワイルドカードを指定)、意図した順番にファイルが結合されるとは限りません。
C:¥bbb>copy ¥bbb rr.txt bbb内の複数のファイル内容をrr.txtに結合
¥bbb¥aa.txt
¥bbb¥bb.txt
        1 個のファイルをコピーしました。

C:¥bbb>
このページのトップへ
オプション「/a」「/b」(ファイル形式の指定)について
/a ファイルをASCIIテキストファイル(テキスト形式)としてコピー
/b ファイルをバイナリファイルとしてコピー
copyにオプション「/a」 または「/b」を指定する事で、コピーを行うファイル形式を指定する事が出来ます。
copyに続くファイル名の前に「/a」または「/b」を指定した場合、 そのファイル形式は全てのファイルに対して設定されます。 個々のファイル名の後に「/a」または「/b」を指定した場合、 各ファイルごとに指定した形式が適用されます。
ファイル名の後に「/a」または「/b」を指定した場合、 そのファイルの後に続くファイルは、改めてファイル形式を指定されない限り、 前のファイルで指定されたファイル形式が適用されます。
C:¥bbb>copy /a aa.txt +bb.txt rr.txt 全てのファイルをテキストファイルとして
C:¥bbb>copy aa.txt /a +bb.txt /b rr.txt 各ファイルに設定
もしも「/a」を指定した場合、 送り側(コピー元)のファイルデータの中にEOF(End Of File)コードが検出されるとコピーが終了し、 それ以降のデータのコピーは行われません。受け側(コピー先)のファイルの末尾には EOF(End Of File)コードを追加します。
そして「/b」を指定した場合は、ファイルをバイナリ形式としてコピーを行います。 (デフォルトの動作/バイナリについてはcompで説明しました) 受け側(コピー先)のファイルの末尾にはEOF(End Of File)コードは追加されません。
このページのトップへ

では早速、copyを使用した例を挙げてみます。
殆どの例を上で詳しく説明したので、ここでは余り細かいことは書かずに流れだけをみていきたいと思います。
以下のaa.txtをサンプルファイルの一つとして使用します。
copyの使用例
デスクトップパソコン
ノートパソコン
ネットブック
ワークステーション
サーバ
このページのトップへ
はじめの例です。
copyの使用例

copyの使用例
C:¥bbb>copy aa.txt aa2.txt
        1 個のファイルをコピー

C:¥bbb>
aa.txtaa2.txtにコピーしています。
aa2.txtの中身を確認してみると・・
copyの使用例
aa.txtのデータがコピーされています。
デスクトップパソコン
ノートパソコン
ネットブック
ワークステーション
サーバ
このページのトップへ

copyの使用例
C:¥bbb>copy *.* ccc¥
ワイルドカードを使用して、bbbディレクトリにある全てのファイルを cccディレクトリへコピーしています。
copyの使用例
全てのファイルがcccディレクトリにコピーされました。
なお、cccディレクトリには既にaa.txtと同名の ファイルが存在していた為、上書きの確認メッセージが表示されました。
C:¥bbb>copy *.* ccc¥
aa.txt
ccc¥aa.txt を上書きしますか? (Yes/No/All): y
aa2.txt
bb.txt
cc.txt
filebk.bat
        5 個のファイルをコピーしました。

C:¥bbb>
このページのトップへ

copyの使用例
C:¥bbb>copy aa.txt con
上のオプション説明の箇所で、con(コンソール)から入力した文字列をテキストファイルへコピーするという 例を挙げましたが、ここでは反対に、テキストファイル→conを実行します。
copyの使用例
aa.txtのデータが画面に表示されました。
conは、入力デバイスとしてはキーボード、 出力だと画面を意味します。
C:¥bbb>copy aa.txt con
デスクトップパソコン
ノートパソコン
ネットブック
ワークステーション
サーバ
        1 個のファイルをコピーしました。

C:¥bbb>
このページのトップへ

copyの使用例

copyの使用例
C:¥bbb>copy *.* ccc¥
aa.txt
aa2.txt
bb.txt
cc.txt
filebk.bat
        5 個のファイルをコピーしました。

C:¥bbb>
この例は上の方にも出した例と同じものなのですが、 ワイルドカード(*.*)を指定して、 bbbディレクトリの全てのファイルを cccディレクトリへコピーしています。
次にこちらをご覧下さい。
copyの使用例
C:¥bbb>copy *.* ccc¥gg.txt
一つ上の例では、受け側(コピー先)にはcccディレクトリ名のみの指定だったのに対し、 こちらの例ではさらにgg.txt(ファイル名)を指定しています。
では実行してみましょう。
copyの使用例
C:¥bbb>copy *.* ccc¥gg.txt
aa.txt
aa2.txt
bb.txt
cc.txt
filebk.bat
        1 個のファイルをコピーしました。

C:¥bbb>
bbbディレクトリ内の全てのファイルの内容が、gg.txtに結合されました。
通常、ファイルの結合を行う場合は「+」記号を用いますが、 上のような場合は例外となり、「+」記号を用いなくてもファイルの結合が行われます。
以下、gg.txtの内容です。
copyの使用例
デスクトップパソコン
ノートパソコン
ネットブック
ワークステーション
サーバ
デスクトップパソコン
ノートパソコン
ネットブック
ワークステーション
サーバ
Acer (3)
工人舎 (2)
Faith (4)
パソコン工房 (3)
ツクモ (2)
NEC (9)
SHARP (3)
マウスコンピュータ (9)
aiueo
kakikukeko
12345
67890
copy aa.txt rr.txt
-
このページのトップへ

次で最後です。
copyの使用例

copyの使用例
C:¥bbb>copy aa.txt+cc.txt   ←受け側(コピー先)を指定していない
aa.txt
cc.txt
        1 個のファイルをコピーしました。

C:¥bbb>
上の例は、送り側(コピー元)に結合したい2つのファイル名を指定していますが、 受け側(コピー先)には何も指定していません。
このような場合は、送り側(コピー元)に記述した一番先頭のファイルに (ここではaa.txt)、後続するファイルデータが結合されます。
copyの使用例
デスクトップパソコン
ノートパソコン
ネットブック
ワークステーション
サーバ         ←この行までがaa.txtの内容
aiueo          ←この行からがcc.txtの内容
kakikukeko
12345
67890
-
このページのトップへ

以上でcopyの説明は終了です。
簡単なコマンドのはずなのですが、ついつい長くなってしまいました。
なお、はじめの方でも述べましたが、このcopyコマンドを更に高機能に進化させた xcopyというコマンドでは、もっと複雑な設定やコピーを行う事ができます。
様々なオプションを組み合わせる事により、ファイルのバックアップなどにも活用できるなど、 xcopyは十分な実用性を備えたコマンドです。
ちなみに、copyコマンドではファイルサイズが0バイトのファイルは複製する事が出来ませんでしたが、 xcopyでは複製する事が出来ます。
・・と、最後はxcopyの事ばかりになってしまいましたが、
copycopyでそれなりに使い道のあるコマンドです。
xcopyに関しては、また後日詳しく解説したいと思います。
それでは、また次回も宜しくお願い致します。
このページのトップへ
コンソールとは
環境変数
バイナリとは

※キーマンズネットのIT単語帳ページへ飛びます。
様々なIT専門用語の意味を詳しく知る事ができます。
サイト上の情報利用により生じた損害等には一切責任を持ちません
2009.10.25 Sunday | 初心者でも簡単コマンドプロンプト | comments(0) | trackbacks(0) | 記事URL
▲PAGETOP
同カテゴリーの記事 最新5件
Comment:
Add a comment:











※コメントは管理者が承認後表示されます。
Trackback:
http://shop.denkaseihin.com/trackback/623
※記事と関連性が低い等、管理人が不適当と判断したものについては削除させて頂きます。
新着記事
CATEGORY
まめ知識
COMMENT
  • 巨大なサイズのファイルも一瞬で削除出来るコマンド del
    denkaseihin (04/15)
  • 巨大なサイズのファイルも一瞬で削除出来るコマンド del
    原田 (04/14)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    denkaseihin (09/18)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    ヨーイチ (09/18)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    denkaseihin (09/14)
  • HPの h8-1080jpレビュー 内蔵GPU〜GTX580まで可のSandy Bridge搭載マシン
    MN (09/13)
  • Firefoxでcookieが保存されないという現象が発生したら
    denkaseihin (10/28)
  • Firefoxでcookieが保存されないという現象が発生したら
    KEKE (10/27)
SMTWTFS
   1234
567891011
12131415161718
19202122232425
262728293031 
<< March 2017 >>
RSS
ARCHIVES
MOBILE
qrcode
LINK

Copyright © 2005 - denkaseihin. All Rights Reserved.