Windowsバッチファイルで使うCOPYコマンドの基本と応用|使い方・オプション

Windowsのバッチファイル(.bat)を活用する際に、ファイルのコピー処理は頻繁に登場します。その中でも基本的なコマンドが「COPY」です。単純なファイルコピーだけでなく、オプションを活用することでバックアップ、ログの結合、エラーハンドリングなど、さまざまな用途に応用できます。

本記事では、Windowsのバッチファイルで「COPY」コマンドを活用する方法を解説します。基本的な使い方から、応用テクニックまで詳しく紹介するので、業務の自動化やスクリプト作成に役立ててください。


【COPYコマンドとは?】

COPYコマンドは、Windowsのコマンドプロンプト(cmd.exe)で使用されるファイルコピーの基本コマンドです。

■ 基本的な書式

cssコピーする編集するCOPY [コピー元] [コピー先] [/オプション]
  • コピー元:コピーするファイルを指定
  • コピー先:コピー先のファイルやフォルダを指定
  • /オプション:動作を変更するオプション(後述)

■ COPYコマンドとXCOPY・ROBOCOPYの違い

コマンド特徴
COPY単純なファイルのコピー(ディレクトリごとのコピー不可)
XCOPYディレクトリごとコピーできる(非推奨になりつつある)
ROBOCOPY高機能なコピーコマンド(推奨)

【COPYコマンドの基本的な使い方】

■ 1. 単純なファイルコピー

以下のコマンドは、C:\source\file.txtC:\destination\ にコピーします。

mathematicaコピーする編集するCOPY C:\source\file.txt C:\destination\

コピー先に既に同名のファイルがある場合は上書きされます。

■ 2. 複数ファイルをコピー

ワイルドカード(*)を使用すると、複数ファイルを一括コピーできます。

mathematicaコピーする編集するCOPY C:\source\*.txt C:\destination\

この例では、C:\source\ 内のすべての .txt ファイルを C:\destination\ にコピーします。

■ 3. ファイルの結合コピー

複数のファイルを1つのファイルに結合することもできます。

sqlコピーする編集するCOPY file1.txt + file2.txt + file3.txt merged.txt

このコマンドでは、file1.txtfile2.txtfile3.txt を結合し、merged.txt に保存します。


【COPYコマンドのオプション一覧】

オプション説明
/Y上書き時に確認メッセージを表示しない
/-Y上書き時に確認メッセージを表示する
/AASCIIテキストファイルとしてコピー
/Bバイナリファイルとしてコピー

■ 4. 上書き確認なしでコピー

通常、既存のファイルを上書きする際に確認メッセージが出ますが、/Y オプションを使うと確認を省略できます。

mathematicaコピーする編集するCOPY /Y C:\source\file.txt C:\destination\

逆に、確認メッセージを強制する場合は /-Y を使用します。

■ 5. バイナリコピーとテキストコピーの違い

cssコピーする編集するCOPY /B image1.jpg + image2.jpg merged.jpg
COPY /A text1.txt + text2.txt merged.txt
  • /B:バイナリデータを結合(画像や動画ファイル向け)
  • /A:テキストデータを結合(改行コードなどを考慮)

【バッチファイルでのCOPYコマンドの活用例】

■ 6. バックアップスクリプト

バッチファイル(backup.bat)を作成し、定期的にファイルをコピーしてバックアップできます。

batコピーする編集する@echo off
SET source="C:\Users\YourName\Documents"
SET backup="D:\Backup"

COPY /Y %source%\important.doc %backup%\important_backup.doc
echo バックアップ完了!

このスクリプトをタスクスケジューラに登録すれば、毎日自動バックアップが可能です。

■ 7. 複数フォルダへのコピー

batコピーする編集する@echo off
SET source="C:\source\file.txt"
SET dest1="C:\backup1\"
SET dest2="D:\backup2\"

COPY /Y %source% %dest1%
COPY /Y %source% %dest2%
echo ファイルが複数の場所にコピーされました!

1つのファイルを複数のフォルダにコピーするバッチスクリプトです。

■ 8. ログファイルを結合する

毎日のログファイルを1つのファイルに統合するスクリプトです。

batコピーする編集する@echo off
COPY /A log1.txt + log2.txt + log3.txt merged_logs.txt
echo ログファイルが統合されました。

これは、日々のログ管理や監視ログの集約に役立ちます。


【COPYコマンドの注意点】

9. コピー先がフォルダかファイルかの指定に注意

  • COPY file.txt C:\folder\フォルダへコピー
  • COPY file.txt C:\folder\newfile.txtファイル名を変更してコピー

10. COPYはサブディレクトリをコピーできない

COPYサブフォルダを含むコピーができません。ディレクトリ全体をコピーする場合は XCOPYROBOCOPY を使いましょう。


【まとめ】

COPY コマンドはシンプルなファイルコピーに適したコマンドですが、ワイルドカード、オプション、バッチスクリプトと組み合わせることで、さまざまな用途に活用できます。

この記事のポイント

COPY はファイル単位のコピーに適したコマンド
/Y/B などのオプションで動作を変更可能
✅ バッチスクリプトと組み合わせて自動化やバックアップに活用できる
✅ サブディレクトリのコピーには XCOPYROBOCOPY を使うべき

業務の効率化や定期バックアップの自動化に、ぜひ COPY コマンドを活用してみてください!

タイトルとURLをコピーしました