batファイルでcopyコマンドのオプションをご紹介します。
バッチでファイルやディレクトリをコピーできるcopyコマンドですが、オプションを使いこなして効率よくコピーしましょう!
また少し変わったcopyもご紹介します!
batファイルでcopy(コピー)コマンドの使い方

batファイルでのcopyコマンドの基礎構文は以下です。
copy コピー元ファイル名 コピー先ファイル名
複数のファイルを選択したい場合は「*」を使用して以下のようにします。
copy *.txt .\test_dir\
これは識別子が.txtのファイル全てを「test_dir」フォルダ配下に全てcopyします。
batファイルでcopy(コピー)コマンドのオプションの使い方
batのcopyコマンドで使用できるオプションを以下にまとめます。
オプション | 効果 |
---|---|
/a | ファイルをASCIIテキストファイルとして扱う |
/b | ファイルをバイナリファイルとして扱う |
/d | 宛先が暗号化非対応の場合に複合する |
/l | シンボリックリンクはターゲットではなくリンクをコピーする |
/n | 短いファイル名でコピーする |
/v | コピー元と先でファイルに差異がないか確認する |
/y /-y | ファイルを上書きするか確認するかどうかを指定する |
/z | 再起動可能モードでネットワークファイルをコピーする |
batファイルでcopyコマンドを実践する

batファイル環境説明
あるフォルダに「copy.bat」ファイルと「test1.txt」と「test2.txt」と「test_dir」フォルダの環境があるとします。
「test1.txt」と「test2.txt」にはそれぞれ文字を入力しています。

batファイル実行例
では実際にbatファイルを作成してファイルをコピーしてみます。
@echo off
copy test1.txt test1_copy.txt

このbatファイルを実行すると以下のように「test1.txt」ファイルが「test1_copy.txt」としてコピーされました。

ファイルの中身を結合したcopyコマンド
「test1.txt」の中身と「test2.txt」の中身を合わせた「test1_2.txt」というファイルを作成してみます。
copy test1.txt+test2.txt test1_2_copy.txt
このbatファイルを実行すると以下のように「test1_2_copy.txt」が作成されて中身に「test1.txt」と「test2.txt」の文字が結合されています。

一括copyコマンド
では「test」から始まるファイルを全て「test_dir」フォルダ配下に一括でコピーしてみます。
copy test* .\test_dir\
このbatファイルを実行すると以下のように、testから始まるファイルがすべてコピーされました。

batのcopyコマンドを使用した変わったファイルの作成方法

ではbatのcopyコマンドを使用して少し変わったファイル作成を行います。
copy con test_con.txt
このbatファイルを実行すると以下のように自由に文字を入力できます。

文字を入力して「Ctrl+C」で終了しますかの確認に「y」を入力してエンターするとここで入力した文字が入ったファイルが作成されます。

「test_con.txt」ファイルが作成されて中身が先程入力した文字が入っています。
このようにbatファイルでのコピーをものにすれば、業務効率化してエンジニアとしての価値を上げる事が出来ます。