XCOPYは、Windowsに標準搭載されたコマンドプロンプトのコマンドで、ファイルやフォルダーを簡単にコピーできます。通常のコピーコマンドより多くのオプションを利用でき、フォルダー構造を保持したコピーや条件を指定したコピーも可能です。MiniToolのこの記事では、XCOPYコマンドの基本構文、主なオプション一覧、ファイル・フォルダーのコピー手順に加え、XCOPYの代替となるバックアップソフトについても解説します。

XCOPYコマンドとは?

XCOPYは、コンピューター用語で「拡張コピー(Extended Copy)」を意味し、標準のCOPYコマンドよりも実用的なファイルコピーツールとして設計されています。ファイルやフォルダーをある場所から別の場所へコピーする際に使用します。

通常のCtrl+C/Ctrl+Vによるコピーと異なり、XCOPYコマンドではサブフォルダーを含めた一括コピーや、更新日時による絞り込みコピーなど、より高度な操作が可能です。

また、XCOPYコマンドは、IBM PC DOS、MS-DOS、IBM OS/2、Microsoft Windows、FreeDOS、ReactOSなど複数のOSで使用できます。ただし、利用可能なオプションやコマンドの構文はOSによって異なる場合があるため注意が必要です。

XCOPYコマンドのメリット

  • ディレクトリ(フォルダー)をまとめてコピーできる
  • ファイル名や拡張子を指定して、特定のファイルを除外できる
  • CDROMからハードディスクにコピーする際、読み取り専用属性を自動的に解除する
  • サブディレクトリを含むすべてのファイルを再帰的にコピーし、元のディレクトリ構造を保持する
  • アーカイブ属性や指定した有効期限に基づいて更新済みファイルを識別できるため、増分バックアップに適している

XCOPYコマンドの制限事項・デメリット

  • パス+ファイル名が254文字以上の大容量ファイルを「/J」オプション(Server 2008 R2以降のみ対応)なしで移動すると、「メモリ不足」エラーが発生し、システムのRAMを消費してしまう
  • リアルタイムで稼働中のOSボリュームのバックアップには使用できない
  • 開いている(使用中の)ファイルはコピーできない

XCOPYコマンドの基本構文と主要なオプション

XCOPYコマンドのメリットとデメリットはすでにご存知だと思いますが、このセクションではそのオプション一覧をご紹介します。XCOPYコマンドを実行する前に、コピー元とコピー先を特定する必要があります。

コピー元は、コピーしたいファイルやトップレベルのフォルダーのことで、XCOPYコマンドで唯一必要なパラメータです。

コピー先は、コピー元のファイルまたはフォルダを保存する場所のことです。保存先を指定しなかった場合、ファイルまたはフォルダーは、XCOPYコマンドを実行したのと同じフォルダーにコピーされます。

それでは、一般的なXCOPYコマンド オプションをご紹介します。

  • /A:このオプションを実行すると、ソースにあるアーカイブ ファイルのみがコピーされます。また、/a/mを同時に使用することはできません。
  • /B:このオプションを実行すると、リンクターゲットの代わりにシンボリック リンク自体がコピーされます。このコマンドは、Windows Vistaで初めて利用可能になりました。
  • /C:このオプションを実行すると、エラーが発生してもXCOPYを続行できます。
  • /D (:date):このオプションを実行し、MM-DD-YYYY形式の特定の日付を使用すると、その日付以降に変更されたファイルがコピーされます。また、特定の日付を指定せずにこのオプションを実行すると、コピー元のファイルの中でターゲット ファイルよりも新しいファイルのみをコピーすることができます。これは、XCOPYコマンドを使って通常のファイル バックアップを行う際に便利です。
  • /E:単独または/Sと組み合わせて使用すると、/Sと同じですが、コピー元ファイルで空のフォルダもコピー先に作成されます。 また、/Eオプションは、/Tオプションと併用することで、コピー元にある空のディレクトリとサブディレクトリを、コピー先で作成されるディレクトリ構造に含めることができます。
  • /F:このオプションを実行すると、コピー元とコピー先の両方のファイルのフルパスとファイル名が表示されます。
  • /G:このオプションを実行すると、暗号化されたファイルをコピー元から暗号化をサポートしていないコピー先にコピーできます。ただし、EFS暗号化されたドライブからEFS暗号化されていないドライブにファイルをコピーする場合、このオプションは機能しません。
  • /H:このオプションを実行すると、隠しファイルやシステムファイルがコピーされます。
  • /I:このオプションを実行すると、XCOPYは強制的にコピー先がディレクトリであると仮定します。このオプションを使用せず、ディレクトリまたはファイルグループであるコピー元から、存在しない宛先にコピーする場合、XCOPYコマンドは、コピー先がファイルかディレクトリかを入力するように求めます。
  • /J:これを使うと、バッファリングなしでファイルをコピーすることができ、大きなファイルの場合に便利です。このオプションは、Windows 7で初めて搭載されましたのです。
  • /K:読み取り専用のファイルをコピーするときに、このオプションを使ってコピー先でファイルの属性を保持することができます。
  • /N:このオプションは、短いファイル名を使用してコピー先にファイルとフォルダーを作成します。そして、長いファイル名をサポートしていない古いファイルシステム(FATなど)でフォーマットされたドライブ上の宛先に、XCOPYコマンドを使用してファイルをコピーする場合にのみ使用できます。
  • /O:このオプションを使用すると、宛先に書き込まれたファイルの所有権とアクセス コントロールリスト(ACL)の情報を保持することができます。
  • /S:このオプションは、ルートディレクトリ、ディレクトリ、サブディレクトリ、およびその中のファイルのコピーに使用できます。空のフォルダは再作成されません。
  • /W:コピー開始のプロンプトに応答した後にのみコピーします(このオプションが省略された場合、XCOPYコマンドを入力してEnterキーを押した後にコピーが開始されます)。
  • /Y:このオプションを使用すると、XCOPYコマンドが、宛先にすでに存在するソースファイルを上書きするかどうかを尋ねるプロンプトが表示されなくなります。
  • /-Y:このオプションを使用すると、XCOPYコマンドがファイルを上書きするかどうかを尋ねるプロンプトを強制的に表示します。

XCOPYコマンドでファイル・フォルダーをコピーする手順

以上、XCOPYコマンドのオプションをご紹介しました。それでは、XCOPYコマンドの例を見てみましょう。

コマンドプロンプトでファイルとフォルダを移動するには、最もよく使われるXCOPYコマンドの構文は次のようになります。

XCOPY [コピー元] [コピー先] [オプション]

ファイルをコピーする方法

XCOPYコマンドを使ってファイルをコピーするには?ここでは、簡単なガイドをご紹介します。

ステップ1:「Win + R」キーを同時に押して、「ファイル名を指定して実行」ボックスを開きます。

ステップ2:ボックスに「cmd」と入力し、Enterを押して「コマンドプロンプト」を開きます。

ステップ3:ここで、以下のようにXCOPYコマンドを入力して、ファイルをコピーできます。たとえば、「Source.reg」ファイルをCドライブの「2211」フォルダからEドライブの「新しいフォルダー11」フォルダにコピーしたい場合は、以下のようにXCOPYコマンドを入力します。

XCOPY C:2211Source.reg “E:新しいフォルダー11” /I

コマンドプロンプトで「XCOPY C:2211Source.reg “E:新しいフォルダー11” /I」と入力する画面

注:
上図のように、ファイル名にスペースが含まれていたり、8文字以上である場合は、パスを引用符で囲んでおかないとエラーになることがあります。

フォルダーをコピーする方法(サブフォルダーを含む)

XCOPYコマンドを使って、フォルダをその中のすべてのサブフォルダを含めてコピーするには、まずコマンドプロンプトを開く必要があります。Cドライブの「2211」フォルダを、Eドライブの「新しいフォルダー 11」フォルダにコピーしたい場合は、以下のようにXCOPYコマンドを入力します。

XCOPY C:2211* “E:新しいフォルダー112211” /S/I

コマンドプロンプトで「XCOPY C:2211* “E:新しいフォルダー112211″ /S/I」と入力する画面

XCOPYコマンドの代替方法:同期ソフトを使う

XCOPYコマンドには多くのオプションがあり、複数を組み合わせて使う場面も多いため、使い方を誤るとコマンドが正常に動作しなかったり、ファイルが失われたりするリスクがあります。

コマンド操作に不安がある場合は、サードパーティ製のファイル同期ソフト「MiniTool ShadowMaker」の同期機能を使えば、コマンドを入力することなく、GUI操作だけでファイルやフォルダーをコピー・定期同期できます。ただし、同期は一方向のみに対応しており、双方向同期はサポートしていない点に注意が必要です。

また、MiniTool ShadowMakerはファイル同期だけでなく、ファイル、フォルダー、パーティション、ディスク、OS全体のバックアップにも対応するWindows用バックアップソフトです。

次のボタンから、全機能を30日間無料で試せる体験版をダウンロードできます。

MiniTool ShadowMaker Trialクリックしてダウンロード100%クリーン&セーフ

では、「同期」機能を使ってファイルとフォルダをコピーする手順を見てみましょう。

ステップ1:MiniTool ShadowMakerをインストールして起動します。次に、「体験版で続く」をクリックし、メインインターフェイスに入ります。

ステップ2:「同期」ページに移動し、「ソース」モジュールをクリックして、コピーしたいファイルを選択します。そして、「OK」をクリックして進みます。

MiniTool ShadowMakerで同期したいファイルを選択する画面

ステップ3:「同期先」モジュールをクリックして、保存先を選択します。それから、「OK」をクリックします。

MiniTool ShadowMakerで同期先を選択する画面

ステップ 4:ソースと保存先を選択した後、「今すぐ同期」をクリックして宛先へのデータのコピーを開始できます。または、「後で同期」をクリックしてタスクを遅らせることもできますが、「管理」ページでタスクを再開する必要があります。

MiniTool ShadowMakerで「今すぐ同期」または「後で同期」をクリックする画面

タスクが完了したら、宛先のパスに移動して同期したファイルとフォルダを確認することができます。

XCOPY コマンドは、ファイルとフォルダーのコピーに使用できますが、MiniTool ShadowMakerを使用すると、操作がより簡単になります。Twitterでシェア

XCOPYコマンドに関するよくある質問(FAQ)

XCOPYとCOPYコマンドの違いは何ですか?
XCOPYとCOPYコマンドの主な違いは、コピーできる対象と機能の範囲です。
COPYコマンドは主にファイルのコピーに使用されますが、XCOPYコマンドはフォルダー構造やサブフォルダーを含めたコピーが可能です。また、XCOPYでは/E、/H、/Dなどのオプションを使用して、より細かい条件を指定したコピーを実行できます。
そのため、単純なファイルコピーにはCOPYコマンド、フォルダー全体のコピーやバックアップ用途にはXCOPYコマンドが適しています。
XCOPYとROBOCOPYの違いは何ですか?
ROBOCOPYは、XCOPYより後に登場した高度なファイルコピー用コマンドで、ミラーリング(同期)コピー、コピー失敗時の再試行、詳細なログ出力など、XCOPYにはない機能を備えています。
一方、XCOPYはシンプルなファイル・フォルダーコピーに適しており、基本的なデータ移行やバックアップ用途で利用できます。大量データの同期や信頼性を重視する場合はROBOCOPY、簡単なコピー作業にはXCOPYがおすすめです。
XCOPYコマンドはWindows 11でも使えますか?
はい。XCOPYコマンドはWindows 11にも標準搭載されており、コマンドプロンプトから使用できます。
XCOPY実行時に「メモリ不足」エラーが出るのはなぜですか?
パスとファイル名の合計が254文字を超える大容量ファイルを、「/J」オプションを付けずにコピーしようとすると、このエラーが発生することがあります。「/J」オプションを追加するか、パスを短縮して再実行してください。

まとめ

以上、XCOPYコマンドの使い方について、基本構文からオプション、具体的な操作手順まで解説しました。ここまで読んで、XCOPYコマンドのメリットとデメリットがわかるはずです。XCOPYコマンドを使ってファイルとフォルダをコピーしたい場合、多くのオプションがあるのでかなり複雑です。したがって、MiniTool ShadowMakerを使用することをお勧めします。

MiniTool ShadowMakerをお使いの際にご不明な点がございましたら、コメント欄にご記入いただくか、[email protected]までご連絡ください。

  • hatena