コマンドプロンプトのcopy
copyコマンドは一つ以上のファイルを、指定した場所にコピーするコマンドです。書き方は

copy コピー元ファイル名 コピー先ファイル名

というように書きます。コピー元ファイル名にはコピー元となるファイル名を指定します。コピー先ファイル名にはコピー先となるファイル名を指定します。コピー元ファイル名とコピー先ファイル名が、現在のディレクトリとは違うディレクトリである場合は絶対パスか相対パスでファイル名を指定します。
現在C:\batがカレントディレクトリとします。C:\配下にあるtest.txtをC:\bat配下にa.txtというファイル名でコピーしたい場合は

≪相対パスで指定する場合≫
copy ..\test.txt a.txt

≪絶対パスで指定する場合≫
copy C:\test.txt a.txt

というように指定します。
コピー元ファイル名に複数のファイル名を+で区切って指定すると、複数のファイル名を結合してコピー先ファイル名にコピーすることが出来ます。
カレントディレクトリにあるa.txtとb.txtを結合して、カレントディレクトリにc.txtとしてコピーしたい場合

copy a.txt+b.txt c.txt

というように書きます。

copyコマンドのオプション
コマンドプロンプト上でコピーコマンドを実行した場合、コピー先ファイル名に既に存在するファイル名が指定された場合、上書き確認のメッセージが出ます。
しかしオプションで /y を指定すると、「~ を上書きしますか? (Yes/No/All):」という上書き確認のメッセージが表示されなくなります。

バッチファイル中でコピーコマンドを実行した場合、デフォルトでは上書き確認のメッセージは出ません。
しかしバッチファイル中でコピーコマンドのオプションに /-y を指定すると、バッチファイルが中断されて「~ を上書きしますか? (Yes/No/All):」というメッセージが表示されます。

オプションで /z を指定すると、ネットワーク ファイルを再起動可能モードでコピーします。
コピー中に何らかの原因で接続が切断された場合、コピーは接続が再確立された後に再開されるようになります。
また、このオプションを指定するとコピーが終了した割合を表示します。

オプションで /v を指定すると、新しいファイルが正しく書き込まれたかどうかを確認します。コピーコマンドは、デフォルトで確認するようになっています。

オプションで /n を指定すると、8文字以上または拡張子が3文字以上の名前が付いているファイルをコピーする場合は、短いファイル名が付いていればそれを使用します、とリファレンスに書いてありますがどちらの名前でも使用でき、このオプションはいまいち使い方がわかりません。

Back to top