copy
1 つ以上のファイルを別の場所にコピーします。
Note
パラメーターが異なる copy コマンドを回復コンソールから利用することもできます。 回復コンソールの詳細については、「Windows 回復環境 (Windows RE)」を参照してください。
構文
copy [/d] [/v] [/n] [/y | /-y] [/z] [/a | /b] <source> [/a | /b] [+<source> [/a | /b] [+ ...]] [<destination> [/a | /b]]
パラメーター
パラメーター | 説明 |
---|---|
/d | 暗号化されたファイルをコピー先で暗号化解除されたファイルとして保存できるようにします。 |
/v | 新しいファイルが正しく書き込まれたことを確認します。 |
/n | 名前が 8 文字より長いファイルやファイル名拡張子が 3 文字より長いファイルをコピーする場合に、短いファイル名 (使用可能な場合) を使用します。 |
/y | 既存の宛先ファイルを上書きするかどうかを確認するプロンプトを抑制します。 |
/-y | 既存のリンク先ファイルを上書きするかどうかを確認するプロンプトを表示します。 |
/z | 再起動可能モードでネットワーク ファイルをコピーします。 |
/a | ASCII テキスト ファイルを示します。 |
/b | バイナリ ファイルを示します。 |
<source> |
必須。 ファイルまたはファイルのセットのコピー元となる場所を指定します。 source は、ドライブ文字とコロン、ディレクトリ名、ファイル名、またはこれらの組み合わせで構成できます。 |
<destination> |
必須。 ファイルまたはファイルのセットのコピー先となる場所を指定します。 destination は、ドライブ文字とコロン、ディレクトリ名、ファイル名、またはこれらの組み合わせで構成できます。 |
/? | コマンド プロンプトにヘルプを表示します。 |
解説
ファイル終了文字 (CTRL+Z) を使用する ASCII テキスト ファイルをコピーして、ファイルの終わりを示すことができます。
/a がコマンドライン上のファイルの一覧の前または後ろにある場合は、copy によって /b が検出されるまで、一覧表示されたすべてのファイルに適用されます。 この場合は、/b が /b の前のファイルに適用されます。
/a の効果は、コマンドライン文字列内の位置によって異なります。- /a が source の後ろに続く場合は、copy コマンドがファイルを ASCII ファイルとして扱い、最初のファイル終了文字 (CTRL+Z) の前にあるデータをコピーします。 - /a が destination の後ろに続く場合は、copy コマンドがファイル終了文字 (CTRL+Z) をファイルの最後の文字として追加します。
/b は、ディレクトリ内のファイル サイズによって指定されたバイト数を読み取るようにコマンド インタープリターに指示します。 /b は、copy がファイルを結合する場合を除いて、copy の既定値です。
/b がコマンド ライン上のファイルの一覧の前または後ろにある場合は、copy によって /a が検出されるまで、一覧表示されたすべてのファイルに適用されます。 この場合は、/a が /a の前のファイルに適用されます。
/b の効果は、コマンドライン文字列内の位置によって異なります。- /b が source の後ろに続く場合は、copy コマンドがファイル終了文字 (CTRL+Z) を含むファイル全体をコピーします。 - /b が destination の後ろに続く場合は、copy コマンドがファイル終了文字 (CTRL+Z) を追加しません。
書き込み操作を検証できない場合は、エラー メッセージが表示されます。 copy コマンドでエラーの記録はめったに発生しませんが、/v を使用して、重要なデータが正しく記録されていることを確認できます。 /v コマンドライン オプションは、ディスク上に記録された各セクターを確認する必要があるため、copy コマンドの速度も低下します。
/y が COPYCMD 環境変数で事前に設定されている場合は、コマンド ラインで /-y を使用して、この設定をオーバーライドできます。 既定で、copy コマンドがバッチ スクリプトで実行されない限り、この設定を置き換えるときにプロンプトが表示されます。
ファイルを追加するには、destination に対して 1 つのファイルを指定しますが、source に対して複数のファイルを指定します (ワイルドカード文字または file1+file2+file3 形式を使用します)。
コピー フェーズ中に接続が失われた場合 (オフラインになっているサーバーが接続を切断した場合など) は、copy /z を使用して接続が再確立された後に再開できます。 また、/z オプションは、ファイルごとに完了したコピー操作の割合も表示します。
source または destination の 1 回以上の出現の代わりにデバイス名を使用できます。
destination がデバイス (Com1 や Lpt1 など) の場合は、/b オプションを使用すると、データがバイナリ モードでデバイスにコピーされます。 バイナリ モードでは、copy /b は、すべての文字 (Ctrl+C、Ctrl+S、Ctrl+Z、ENTER などの特殊文字を含む) をデータとしてデバイスにコピーします。 ただし、/b が省略された場合は、データが ASCII モードでデバイスにコピーされます。 ASCII モードでは、コピー処理中に、特殊文字によってファイルが結合される場合があります。
リンク先ファイルが指定されなかった場合は、オリジナルのファイルと同じ名前、変更日、および変更時刻でコピーが作成されます。 新しいコピーは、現在のドライブ上の現在のディレクトリに格納されます。 ソース ファイルが現在のドライブ上の現在のディレクトリ内に存在し、リンク先ファイルに別のドライブまたはディレクトリが指定されていない場合は、copy コマンドが停止して、次のエラー メッセージが表示されます。
File cannot be copied onto itself 0 File(s) copied
source に複数のファイルが指定された場合は、copy コマンドが、destination に指定されたファイル名を使用して、すべてのファイルを 1 つのファイルに結合します。 copy コマンドは、/b オプションが使用されていない限り、結合されたファイルが ASCII ファイルであると仮定します。
長さが 0 バイトのファイルをコピーする、または、ディレクトリのファイルとサブディレクトリのすべてをコピーするには、xcopy コマンドを使用します。
ファイルを変更せずに現在の日時をファイルに割り当てるには、次の構文を使用します。
copy /b <source> +,,
ここで、コンマは、destination パラメーターが意図的に除外されていることを示します。
例
memo.doc という名前のファイルを現在のドライブ内の letter.doc にコピーして、ファイル終了文字 (CTRL+Z) がコピーされたファイルの末尾に存在することを保証するには、次のように入力します。
copy memo.doc letter.doc /a
robin.typ という名前のファイルを現在のドライブとディレクトリからドライブ C に配置された Birds という名前の既存のディレクトリにコピーするには、次のように入力します。
copy robin.typ c:\birds
Note
Birds ディレクトリが存在しない場合は、ファイルの robin.typ がドライブ C 内のディスク上のルート ディレクトリに配置された Birds という名前のファイルにコピーされます。
現在のディレクトリに配置された Mar89.rpt、Apr89.rpt、および May89.rpt を結合して、それらを Report という名前のファイル (現在のディレクトリ内) に配置するには、次のように入力します。
copy mar89.rpt + apr89.rpt + may89.rpt Report
Note
ファイルを結合すると、copy コマンドがリンク先ファイルを現在の日付と時刻でマークします。 destination が省略された場合は、ファイルが結合され、一覧の最初のファイルの名前の下に格納されます。
Report 内のすべてのファイルを結合するには、Report という名前のファイルが既に存在する場合に、次のように入力します。
copy report + mar89.rpt + apr89.rpt + may89.rpt
.txt ファイル名拡張子を持つ現在のディレクトリ内のすべてのファイルを Combined.doc という名前の 1 つのファイルに結合するには、次のように入力します。
copy *.txt Combined.doc
ワイルドカード文字を使用して複数のバイナリ ファイルを 1 つのファイルに結合するには、/b を含めます。 これにより、Windows が CTRL+Z をファイル終了文字として扱うのを防ぐことができます。 たとえば、次のように入力します。
copy /b *.exe Combined.exe
注意事項
バイナリ ファイルを結合すると、内部のフォーマットが原因で結果のファイルが使用できなくなる可能性があります。
- .txt 拡張子を持つ各ファイルを対応する .ref ファイルと結合すると、ファイル名は同じだが .doc 拡張子を持つファイルが作成されます。 copy コマンドは、file1.txt と file1.ref を結合して file1.doc を、file2.txt と file2.ref を結合して file2.doc を、といった具合にファイルを生成します。 たとえば、次のように入力します。
copy *.txt + *.ref *.doc
.txt 拡張子を持つすべてのファイルを結合してから、.ref 拡張子を持つすべてのファイルを Combined.doc という名前の 1 つのファイルに結合するには、次のように入力します。
copy *.txt + *.ref Combined.doc