Windowsのバッチファイル(.bat)を活用する際に、ファイルのコピー処理は頻繁に登場します。その中でも基本的なコマンドが「COPY
」です。単純なファイルコピーだけでなく、オプションを活用することでバックアップ、ログの結合、エラーハンドリングなど、さまざまな用途に応用できます。
本記事では、Windowsのバッチファイルで「COPY」コマンドを活用する方法を解説します。基本的な使い方から、応用テクニックまで詳しく紹介するので、業務の自動化やスクリプト作成に役立ててください。
【COPYコマンドとは?】
COPY
コマンドは、Windowsのコマンドプロンプト(cmd.exe)で使用されるファイルコピーの基本コマンドです。
■ 基本的な書式
cssコピーする編集するCOPY [コピー元] [コピー先] [/オプション]
コピー元
:コピーするファイルを指定コピー先
:コピー先のファイルやフォルダを指定/オプション
:動作を変更するオプション(後述)
■ COPYコマンドとXCOPY・ROBOCOPYの違い
コマンド | 特徴 |
---|---|
COPY | 単純なファイルのコピー(ディレクトリごとのコピー不可) |
XCOPY | ディレクトリごとコピーできる(非推奨になりつつある) |
ROBOCOPY | 高機能なコピーコマンド(推奨) |
【COPYコマンドの基本的な使い方】
■ 1. 単純なファイルコピー
以下のコマンドは、C:\source\file.txt
を C:\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.txt
、file2.txt
、file3.txt
を結合し、merged.txt
に保存します。
【COPYコマンドのオプション一覧】
オプション | 説明 |
---|---|
/Y | 上書き時に確認メッセージを表示しない |
/-Y | 上書き時に確認メッセージを表示する |
/A | ASCIIテキストファイルとしてコピー |
/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
はサブフォルダを含むコピーができません。ディレクトリ全体をコピーする場合は XCOPY
や ROBOCOPY
を使いましょう。
【まとめ】
COPY
コマンドはシンプルなファイルコピーに適したコマンドですが、ワイルドカード、オプション、バッチスクリプトと組み合わせることで、さまざまな用途に活用できます。
この記事のポイント
✅ COPY
はファイル単位のコピーに適したコマンド
✅ /Y
や /B
などのオプションで動作を変更可能
✅ バッチスクリプトと組み合わせて自動化やバックアップに活用できる
✅ サブディレクトリのコピーには XCOPY
や ROBOCOPY
を使うべき
業務の効率化や定期バックアップの自動化に、ぜひ COPY
コマンドを活用してみてください!