Programming Field

DOS コマンド一覧

Copy

ファイルをコピーします。

構文

copy [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] <src-file>  [/A | /B]
    [+ <src-file2>  [/A | /B] [+ ...]] [<dest-file> [/A | /B]]
<src-file>
コピー元のファイル名を指定します。
+ <src-file2> ...
ファイルを複数指定する場合、「+」を使って後ろにつなげるファイル名を指定します。
<dest-file>
コピー先のファイル名を指定します。省略した場合、コピー元のファイルが複数ある場合は、最初のファイルにすべて連結されます。コピー元のファイルが1つだけの場合は、現在のディレクトリにコピーされます。
この引数に既存のディレクトリ名を指定すると、ファイルはそのディレクトリ内にコピーされます。
/A
ファイルを ASCII テキストファイルとして扱います。このファイル形式の場合、読み取りファイル側は EOF 文字 (\x1A) に達したら終了とし、コピー先のファイルには末尾に EOF 文字を追加します。
/B
ファイルをバイナリファイルとして扱います。(既定の動作)
送り側ファイルの前に /A または /B を指定した場合、ファイル形式はすべてのファイルに対して影響します。個々のファイルに対して指定する場合は、それぞれのファイルの後ろに /A または /B を指定します。
/D
[Windows NT 系のみ] コピー先のファイルは暗号化しません。指定しない場合は、コピー元のファイルが暗号化されている場合は暗号化します。
/N
[Windows NT 系のみ] MS-DOS 形式以外のファイル名(長いファイル名など)を持つファイルをコピーするとき、できる限り短いファイル名でコピーします。
/V
コピー後にファイルが正しく書き込まれたかどうかをチェックします。
/Y
コピー先のファイルが存在する場合でも、上書きするかどうかの確認メッセージを表示しません。
/-Y
コピー先のファイルが存在する場合、上書きするかどうかの確認メッセージを表示します。(環境変数 COPYCMD で「/Y」が設定されていても表示します。)
/Z
[Windows NT 系のみ] ネットワークファイルを再起動可能モード(restartable mode)でコピーします。通信不良などが発生してコピーに失敗した場合、同じファイル名を用いればコピーを再開することができます。

解説

このコマンドはファイルをコピーします。コピーではなく移動をする場合は、Move コマンドを使用します。

コピー元のファイルが現在のディレクトリにある場合、コピー先を省略することは出来ません。省略すると、「そのファイル自体にコピーすることは出来ません。」などと表示されます。

コピー元のファイルが複数指定されている場合、またはワイルドカードを使って指定されている場合、コピー先が単一のファイルを表している場合は、対象のファイルはすべて連結されます。コピー先がディレクトリの場合は、そのディレクトリに対象のファイルがコピーされます(連結しません)。

[MS-DOS, Windows 95/98/Me] Copy では、0バイトのファイルをコピーすることは出来ません。0バイトのファイルをコピーする場合は Xcopy を使います。また、後述のサンプルにあるような、CON を使ったファイル作成も、文字を入力せずに行うとファイルが作成されません。その場合は Type コマンドで作成してください。

サンプル1
copy Test.s01 /B + Test.s02 /B Test.dat /B

ファイル Test.s01 と Test.s02 を結合して、Test.dat ファイルを作成します。これは以下と同じです。

copy /B Test.s01 + Test.s02 Test.dat
サンプル2
copy CON save.txt

このコマンドは「CON (コンソール入力、つまりプロンプトでのキー入力)をファイルにコピーする」、すなわち「キー入力をファイルにコピー、出力する」のを実行し、入力してもらった内容を save.txt に保存します。
(このコマンドはすぐにテキスト ファイルを作る時に使えます。入力を終了する時、新しい行において Ctrl+Z を押して ^Z と出力させて改行すると、入力を終了できます。「>」リダイレクションのサンプルもご覧ください。)

サンプル3
copy /B test.txt + ,,

これは特殊な記法で、ファイル test.txt の日時(更新日時)を現在の時刻に変更します。引数「,,」(カンマ2つ; スペースは含んでもよい)はコピー先のファイルの省略を表すとされています。なお、ファイル自身の書き換えは行いません。