サブディレクトリを含むファイルとディレクトリをコピーします。
このコマンドの使用方法の例については、「 例」を参照してください。
構文
xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j] [/compress]
パラメーター
パラメーター | 説明 |
---|---|
<源> | 必須。 コピーするファイルの場所と名前を指定します。 このパラメーターには、ドライブまたはパスを含める必要があります。 |
[<目的地>] | コピーするファイルのコピー先を指定します。 このパラメーターには、ドライブ文字とコロン、ディレクトリ名、ファイル名、またはこれらの組み合わせを含めることができます。 |
/w | 次のメッセージを表示し、応答を待ってからファイルのコピーを開始します: キーを押してファイルのコピーを開始します。 |
/p | 各コピー先ファイルを作成するかどうかを確認するメッセージが表示されます。 |
/c | エラーを無視します。 |
/v | コピー先ファイルに書き込まれる各ファイルを検証して、コピー先ファイルがソース ファイルと同じであることを確認します。 |
/q |
xcopy メッセージの表示を抑制します。 |
/f | コピー中のソース ファイル名とコピー先ファイル名を表示します。 |
/l | コピーするが、ファイルをアクティブにコピーしないファイルの一覧を生成します。 |
/g | 変換 先 が暗号化をサポートしていない場合に、復号化された宛先ファイルを作成します。 |
/d [:MM-DD-YYYY] | 指定した日付以降に変更されたソース ファイルのみをコピーします。
MM-DD-YYYY 値を含めない場合、xcopy は、既存のコピー先ファイルよりも新しいすべてのソース ファイルをコピーします。 このコマンド ライン オプションを使用すると、変更されたファイルを更新できます。 |
/u | コピー先にのみ存在するソースからファイルをコピーします。 |
/私 |
ソースがディレクトリであるか、ワイルドカードが含まれており、宛先が存在しない場合、xcopy は宛先がディレクトリ名を指定し、新しいディレクトリを作成することを前提としています。 次に、 xcopy 指定したすべてのファイルを新しいディレクトリにコピーします。 既定では、 xcopy は 宛先 がファイルかディレクトリかを指定するように求められます。 |
/s | ディレクトリとサブディレクトリが空でない限り、コピーします。
/s を省略すると、xcopy は 1 つのディレクトリ内で動作します。 |
/e | 空の場合でも、すべてのサブディレクトリをコピーします。 /s および /t コマンド ライン オプションで /e を使用します。 |
/t | サブディレクトリ構造 (つまりツリー) のみをコピーし、ファイルはコピーしません。 空のディレクトリをコピーするには、 /e コマンドライン オプションを含める必要があります。 |
/k | ファイルをコピーし、ソース ファイルに存在する場合は、コピー先ファイルの読み取り専用属性を保持します。 既定では、 xcopy は読み取り専用属性を削除します。 |
/r | 読み取り専用ファイルをコピーします。 |
/h | 非表示のファイル属性とシステム ファイル属性を持つファイルをコピーします。 既定では、 xcopy は非表示またはシステム ファイルをコピーしません |
/ある | アーカイブ ファイル属性が設定されている ソース ファイルのみをコピーします。 /a では、ソース ファイルのアーカイブ ファイル属性は変更されません。 attrib を使用してアーカイブ ファイル属性を設定する方法については、「関連リンク」を参照してください。 |
/m | アーカイブ ファイル属性が設定されている ソース ファイルをコピーします。 /a とは異なり、/m はソースで指定されたファイル内のアーカイブ ファイル属性をオフにします。 attrib を使用してアーカイブ ファイル属性を設定する方法については、「関連リンク」を参照してください。 |
/n | NTFS の短いファイル名またはディレクトリ名を使用してコピーを作成します。 /n は、NTFS ボリュームから FAT ボリュームにファイルまたはディレクトリをコピーする場合、または ターゲット ファイル システムで FAT ファイル システムの名前付け規則 (つまり、8.3 文字) が必要な場合に必要です。 ターゲット ファイル システムには、FAT または NTFS を使用できます。 |
/o | ファイルの所有権と随意アクセス制御リスト (DACL) 情報をコピーします。 |
/x | ファイル監査設定とシステム アクセス制御リスト (SACL) 情報をコピーします ( /o を意味します)。 |
/exclude:ファイル名1[+[ファイル名2]][+[ファイル名3]( )] | ファイルの一覧を指定します。 少なくとも 1 つのファイルを指定する必要があります。 各ファイルには、ファイル内の個別の行の各文字列を含む検索文字列が含まれています。 いずれかの文字列がコピーするファイルの絶対パスの一部と一致する場合、そのファイルはコピー対象から除外されます。 たとえば、文字列 obj を指定すると、ディレクトリ obj の下にあるすべてのファイルや 、.obj 拡張子を持つすべてのファイルが除外されます。 |
/y | 既存のコピー先ファイルを上書きすることを確認するメッセージが表示されないようにします。 |
/-y | 既存のコピー先ファイルを上書きすることを確認するメッセージが表示されます。 |
/z | 再起動可能モードでネットワーク経由でコピーします。 |
/b | ファイルの代わりにシンボリック リンクをコピーします。 このパラメーターは Windows Vista® で導入されました。 |
/j | バッファリングせずにファイルをコピーします。 非常に大きなファイルに推奨されます。 このパラメーターは、Windows Server 2008 R2 で追加されました。 |
/圧縮する | 必要に応じて、ファイル転送中にネットワーク圧縮を要求します。 |
/[- ]スパース |
コピー処理中におけるファイルのスパース状態の保持を有効または無効にします。 両方のパラメーターが指定されている場合、 /-sparse は /sparse をオーバーライドします。 |
/noclone | 最適化としてのブロック複製を試行しません。 |
/? | コマンド プロンプトにヘルプを表示します。 |
注釈
/z の使用
コピー フェーズ中に接続が失われた場合 (たとえば、サーバーがオフラインになると接続が切断された場合)、接続を再確立した後に再開されます。 /z には、各ファイルに対して完了したコピー操作の割合も表示されます。
COPYCMD 環境変数での /y の使用。
COPYCMD 環境変数で /y を使用できます。 コマンド ラインで /-y を使用して、このコマンドをオーバーライドできます。 既定では、上書きを求められます。
暗号化されたファイルのコピー
暗号化されたファイルを EFS をサポートしていないボリュームにコピーすると、エラーが発生します。 最初にファイルを復号化するか、EFS をサポートするボリュームにファイルをコピーします。
ファイルの追加
ファイルを追加するには、変換先に 1 つのファイルを指定しますが、ソースには複数のファイルを指定します (つまり、ワイルドカードまたは file1+file2+file3 形式を使用)。
変換先の既定値
変換先を省略すると、
xcopy
コマンドによってファイルが現在のディレクトリにコピーされます。宛先がファイルかディレクトリかを指定する
変換先に既存のディレクトリが含まれていない場合、円記号 () で終わらない場合は、次のメッセージが表示されます。
Does <Destination> specify a file name or directory name on the target(F = file, D = directory)?
ファイルまたはファイルをファイルにコピーする場合は、F キーを押します。 ファイルまたはファイルをディレクトリにコピーする場合は、D キーを押します。
/i コマンド ライン オプションを使用すると、このメッセージを抑制できます。これにより、ソースが複数のファイルまたはディレクトリである場合、
xcopy
は宛先がディレクトリであると見なされます。xcopy
コマンドを使用してコピー先ファイルのアーカイブ属性を設定するxcopy
コマンドは、この属性がソース ファイルに設定されたかどうかにかかわらず、アーカイブ属性が設定されたファイルを作成します。 ファイル属性と 属性の詳細については、「 関連リンク」を参照してください。xcopy
とdiskcopy
の比較サブディレクトリにファイルを含むディスクがあり、別の形式のディスクにコピーする場合は、
xcopy
の代わりにdiskcopy
コマンドを使用します。diskcopy
コマンドはトラックごとにディスク をコピーするため、ソース ディスクとコピー先ディスクの形式は同じである必要があります。xcopy
コマンドには、この要件はありません。 ディスク イメージの完全なコピーが必要な場合を除き、xcopy
を使用します。メモリ不足エラー
ファイル名のパスが 255 文字を超えるファイルまたはフォルダーをコピーするために
xcopy
を実行すると、"メモリ不足" エラーが発生する可能性があります。の終了コード
xcopy
xcopy
によって返される終了コードを処理するには、バッチ プログラムの if コマンド ラインで ErrorLevel パラメーターを使用します。 if を使用して終了コードを処理するバッチ・プログラムの例については、関連リンクを参照してください。 次の表に、各終了コードと説明を示します。終了コード 説明 0 エラーなしでファイルがコピーされました。 1 コピーするファイルが見つかりませんでした。 2 ユーザーが Ctrl キーを押しながら C キーを押して、 xcopy
を終了しました。4 初期化エラーが発生しました。 メモリまたはディスク領域が不足しているか、コマンド ラインに無効なドライブ名または無効な構文を入力しました。 5 ディスク書き込みエラーが発生しました。
例示
1. ドライブ A からドライブ B にすべてのファイルとサブディレクトリ (空のサブディレクトリを含む) をコピーするには、次のように入力します。
xcopy a: b: /s /e
2. 前の例でシステムまたは非表示のファイルを含めるには、次のように /h コマンド ライン オプションを追加します。
xcopy a: b: /s /e /h
3. \Reports ディレクトリ内のファイルを、1993 年 12 月 29 日以降に変更された \Rawdata ディレクトリ内のファイルで更新するには、次のように入力します。
xcopy \rawdata \reports /d:12-29-1993
4. 日付に関係なく、前の例の \Reports に存在するすべてのファイルを更新するには、次のように入力します。
xcopy \rawdata \reports /u
5. 前のコマンドによってコピーされるファイルのリストを取得するには (つまり、実際にファイルをコピーせずに)、次のように入力します。
xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out
xcopy.out ファイルには、コピーされるすべてのファイルが一覧表示されます。
6. \Customer ディレクトリとすべてのサブディレクトリをネットワーク ドライブ H: のディレクトリ \\Public\Address にコピーするには、読み取り専用属性を保持し、H: で新しいファイルが作成されたときにメッセージが表示されます。
xcopy \customer h:\public\address /s /e /k /p
7. 前のコマンドを発行するには、 xcopy
が存在しない場合は \Address ディレクトリを作成し、新しいディレクトリの作成時に表示されるメッセージを抑制するには、 次のように /i コマンド ライン オプションを追加します。
xcopy \customer h:\public\address /s /e /k /p /i
8.xcopy
操作を実行するバッチ・プログラムを作成し、エラーが発生した場合にバッチ if コマンドを使用して終了コードを処理することができます。 たとえば、次のバッチ プログラムでは、 xcopy
のソースパラメーターと宛先パラメーターに置き換え可能なパラメーターが使用されます。
@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination
rem drive or directory (%2)
xcopy %1 %2 /s /e
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit
:abort
echo You pressed CTRL+C to end the copy operation.
goto exit
:exit
上記のバッチ プログラムを使用して、C:\Prgmcode ディレクトリとそのサブディレクトリ内のすべてのファイルを B ドライブにコピーするには、次のように入力します。
copyit c:\prgmcode b:
コマンド インタープリターは、%1 の場合は C:\Prgmcode、%2の場合は B: に置き換え、xcopy
を /e および /s コマンド ライン オプションで使用します。
xcopy
エラーが発生した場合、バッチ・プログラムは終了コードを読み取り、適切な IF ERRORLEVEL ステートメントで示されたラベルに進み、適切なメッセージを表示してバッチ・プログラムから終了します。
9. この例では、空でないすべてのディレクトリに加えて、アスタリスク記号の後にファイル拡張子が関連付けられたファイルをコピーします。
xcopy .\toc*.yml ..\..\Copy-To\ /S /Y
rem Output example.
rem .\d1\toc.yml
rem .\d1\d12\toc.yml
rem .\d2\toc.yml
rem 3 File(s) copied
前の例では、この特定のソース パラメーター値 .\toc*.yml は、2 つのパス文字 .\ が削除された場合でも、同じ 3 つのファイルをコピーします。 ただし、アスタリスク ワイルドカードがソース パラメーターから削除された場合、ファイルはコピーされません。. \toc.yml。