copy コマンドの A オプションと B オプションの違い

スポンサード リンク

このページでは Windows の内部コマンドである copy の /A オプションと /B オプションの違いに関して説明します。

/b はバイナリモードでそのままコピーします。一方で /a はテキストとしてコピーします。ただし /a は環境によっては不要なゴミコードが入ってしまいます。

そもそもテキストファイルでも綺麗に結合したい場合は /b オプションでバイナリとしてコピーしてください。
これは ftp アップロードの話と似ています。ftp アップロードではUnixやWindows の環境の違いにより改行コードが変換される場合があります。よってftp ではテキストファイルでもバイナリとしてコピーする場合が多くなります

参考:FTP のバイナリモードとアスキーモードの違いは

スポンサード リンク

(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。

比較表

比較は以下の表の通りとなります。

説明copy /acopy /b
概要テキストとして結合します。デフォルトではこのオプションとなります。

バイナリとして結合します。
注意ファイルとファイルの結合部分に不要なコードが入る場合があります。テキストファイルとしてみると"Z"などと表示される場合がります。そんな場合は /b オプションを使用してバイナリとしてコピーしてみてください。

copy コマンドで"Z"ような不要なコードが入っていたら、 このモードで再度試してみてください。

copy コマンドのヘルプは以下の通りです。

copy /?
1 つまたは複数のファイルを別の場所にコピーします。

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B] 送り側 [/A | /B]
[+ 送り側 [/A | /B] [+ ...]] [受け側 [/A | /B]]

送り側 コピーするファイル (複数可) を指定します。
/A ASCII テキスト ファイルとして扱います。
/B バイナリ ファイルとして扱います。
/D 受け側のファイルが暗号化が解除されて作成されるようにします。
受け側 新しいファイルのディレクトリまたはファイル名 (複数可) を指定し
ます。
/V 新しいファイルが正しく書き込まれたか検査します。
/N MS-DOS 形式以外の名前のファイルをコピーするときに、利用可能な
らば、短いファイル名を使用します。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ません。
/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ます。
/Z ネットワーク ファイルを再起動可能モードでコピーします。
/L 送り側がシンボリック リンクの場合は、送り側リンクが指し示す
実際のファイルではなく、リンクをターゲットにコピーします。

環境変数 COPYCMD でスイッチ /Y が設定されている場合があります。
このスイッチは、コマンド ラインから /-Y が指定されると無効になります。既定
では、COPY コマンドがバッチ スクリプトから実行されていない場合、上書き確認
メッセージが表示されます。

複数のファイルを追加するときは、受け側に 1 個のファイルを指定し、送り側に
複数のファイルを指定します (ワイルドカードを使うか、ファイル 1 + ファイル 2 +
ファイル 3 と指定します)。

関連リンク:
copyとxcopyコマンドの違い
copy、xcopy、robocopy の機能な明確な違い







【注意】本ページは著作権で保護されています。内容は何人も補償しません。時間的あるいは金銭的損失等、一切保証しません。

理解しやすく記載されており、一部不正確な記載がある可能性があります。ご自身の責任で参考にしてください。