copyとxcopyコマンドの違い

スポンサード リンク

Windows ではファイルやフォルダをコピーするのに、copy コマンドとxcopy コマンドがあります。どのような違いがあるのでしょうか。

共にコマンドプロンプト(command prompt)で使用するコマンドです。使い方が多少異なります。

スポンサード リンク

(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。

比較表

比較は以下の表の通りとなります。

説明copyxcopy
機能の違いファイルをコピーします。一つのファイルでも複数のファイルでもコピーが可能です。ファイルやフォルダをコピーします。copyと異なり、フォルダをごっそりコピーできるのが利点です。
ワイルドカード指定可能可能
サブディレクトリ以下のコピー不可可能(これが大きなメリット)
/s オプションでサブディレクトリもコピーします。
テキストファイルの合体copy コマンドではテキストファイルの合体が可能です。

copy [ファイル1]+[ファイル2] [ファイル3]
でテキストファイルの合体が可能。
不可
コマンドのヘルプ1 つまたは複数のファイルを別の場所にコピーします。

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B] 送り側 [/A | /B]
[+ 送り側 [/A | /B] [+ ...]] [受け側 [/A | /B]]

送り側 コピーするファイル (複数可) を指定します。
/A ASCII テキスト ファイルとして扱います。
/B バイナリ ファイルとして扱います。
/D 受け側のファイルが暗号化が解除されて作成されるようにします。
受け側 新しいファイルのディレクトリまたはファイル名 (複数可) を指定し
ます。
/V 新しいファイルが正しく書き込まれたか検査します。
/N MS-DOS 形式以外の名前のファイルをコピーするときに、利用可能な
らば、短いファイル名を使用します。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ません。
/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ます。
/Z ネットワーク ファイルを再起動可能モードでコピーします。
/L 送り側がシンボリック リンクの場合は、送り側リンクが指し示す
実際のファイルではなく、リンクをターゲットにコピーします。

環境変数 COPYCMD でスイッチ /Y が設定されている場合があります。
このスイッチは、コマンド ラインから /-Y が指定されると無効になります。既定
では、COPY コマンドがバッチ スクリプトから実行されていない場合、上書き確認
メッセージが表示されます。

複数のファイルを追加するときは、受け側に 1 個のファイルを指定し、送り側に
複数のファイルを指定します (ワイルドカードを使うか、ファイル 1 + ファイル 2 +
ファイル 3 と指定します)。
ファイルとディレクトリ ツリーをコピーします。

XCOPY コピー元 [コピー先] [/A | /M] [/D[:日付]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
[/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...]

コピー元 コピーするファイル (複数可) を指定します。
コピー先 新しいファイルの場所や名前を指定します。
/A アーカイブ属性が設定されているファイルのみをコピーし、
属性は変更しません。
/M アーカイブ属性が設定されているファイルのみをコピーし、
アーカイブ属性を解除します。
/D:月-日-年 指定された日付以降に変更されたファイルをコピーします。
日付が指定されなかったときは、コピー元の日付がコピー先の日付より
新しいファイルだけをコピーします。
/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...
コピーの除外対象を特定するための文字列を記述したファイルを指定
します (複数指定可)。文字列は、1 行に 1 つずつ記述します。
その文字列が、コピー対象ファイルの絶対パスの一部と一致した場合、
そのファイルはコピーから除外されます。たとえば、"\obj\" という
文字列を指定するとディレクトリ obj の下の全ファイルが除外 され
ます。".obj" という文字列を指定すると .obj という拡張子のファ
イルがすべて除外されます。
/P コピー先のファイルを作成する前に確認のメッセージを表示します。
/S 空の場合を除いて、ディレクトリとサブディレクトリをコピーします。
/E ディレクトリまたはサブディレクトリが空であってもコピーします。
"/S /E" と同じ意味です。/T の内容を変更する際にも使用できます。
/V コピー先の各ファイルのサイズを検証します。
/W コピーを開始する際に、任意のキーを押すことを求めるメッセージを
表示します。
/C エラーが発生してもコピーを続けます。
/I 指定されたコピー先が存在せず、コピーするファイルが複数の場合、
コピー先をディレクトリとしてコピーします。
/Q コピー中にファイル名を表示しません。
/F コピー中にコピー元とコピー先の全ファイル名を表示します。
/L コピーされるファイル名を表示します。
/G 暗号化をサポートしないコピー先に、暗号化されたファイルをコピー
することを許可します。
/H 隠しファイルやシステム ファイルもコピーします。
/R 読み取り専用ファイルを上書きします。
/T ファイルはコピーせずにディレクトリ構造のみを作成します。空の
ディレクトリまたはサブディレクトリは除きます。"/T /E" と指定
すると空のディレクトリやサブディレクトリも作成されます。
/U コピー先に既に存在するファイルだけをコピーします。
/K 属性をコピーします。指定しない場合、読み取り専用属性はリセット
されます。
/N 生成された短い名前を使用してコピーします。
/O ファイルの所有権と ACL 情報をコピーします。
/X ファイルの監査設定をコピーします (/O を含む)。
/Y 既存のファイルを上書きする前に確認のメッセージを表示しません。
/-Y 既存のファイルを上書きする前に確認のメッセージを表示します。
/Z 再起動可能モードでネットワーク ファイルをコピーします。
/B シンボリック リンクのリンク先ではなく、シンボリック リンク自体を
コピーします。
/J バッファーされていない I/O を使ってコピーします。サイズが大き
いファイルに適しています。

スイッチ /Y は環境変数 COPYCMD に前もって設定しておくことができます。
この設定は、コマンド ラインの /-Y で上書きすることができます。

スポンサード リンク







【注意】本ページは著作権で保護されています。内容は何人も補償しません。時間的あるいは金銭的損失等、一切保証しません。

理解しやすく記載されており、一部不正確な記載がある可能性があります。ご自身の責任で参考にしてください。