月別アーカイブ: 2022年9月

21. 【COPY】ファイルをコピーする

COPYコマンドはファイルを複製するのが、主な機能となります。
エクスプローラーでの操作は、ファイルを、CTRLキーを押しながらドラッグ&ドロップすることによりコピーします。またファイルを右クリックし「コピー」し、「貼り付け」することでもコピーすることができます。

ではCOPYコマンドの書式を見てみましょう

書式:COPY [スイッチ] コピー元ファイル コピー先ディレクトリ

次の例はDocumentsディレクトリのtest.txtをDocumentsディレクトリ内のcopyfileディレクトリにコピーします。第一パラメータにはコピーしたいファイル。第2パラメータにはコピー先のディレクトリを指定します。

> COPY Documents¥test.txt Documents¥copyfiles

スイッチ一覧

オプションの種類機能
/d暗号化をサポートしない宛先にコピーする際に、暗号化されたファイルを復号化する。Windows のファイルシステムはNTFS。
/vコピー元とコピー先のファイルに差異がないか検証(Verify ベリファイ)する。
/n8.3形式の短いファイル名でコピーする。
/yファイルを上書きする前に確認プロンプトを表示しない。
/-yファイルを上書きする前に確認プロンプトを表示する(初期値)。
/z再起動可能モードでネットワークファイルをコピーする。
/lコピー元ファイルがシンボリックリンクの場合、ターゲットではなくシンボリックリンクのままコピーする。初期値ではターゲットをコピーする。
/aファイルをASCIIファイルとして扱う。
/bファイルをバイナリファイルとして扱う(初期値)。

/dスイッチはNTFSファイルシステム(Windows)上で暗号化されたファイルをFAT32ファイルシステムなど、暗号化をサポートしないファイルシステムにコピーする際に使用します。

/vスイッチを使用すると正しくコピーができたかどうか判断してくれます。

/zの再起動可能モードとはネットワークを通じてファイルをコピーする場合、途中でネットワークの接続が切れることがありますが、ネットワークが繋がるとコピーの続きをおこなってくれるモードです。ネットワークでファイルの複製をする場合はつけておきましょう。

/l(L)はコピー元がシンボリックリンクの場合、リンクの元ファイルではなく、シンボリックリンク自身をコピーします。スイッチをつけないとリンクの元ファイルをコピーします。

最後に/a,/bですが、COPYコマンドは初期値でファイルがバイナリーであっても、ASCIIであっても、バイナリーファイルとしてコピーします。その場合、テキストデータが文字化けを起こすことがあります。これを避けるには/aスイッチをつけて、ASCIIファイルとしてコピーをします。/bは初期値です。

  • ASCIIファイル 文字データのみで構成されたファイルをASCIIファイルと呼ぶ。
    txt, .c, .csv, .html, .css, .js, .bat(などの拡張子を持つ文字データのみで作成されたデータ)
  • BINARYファイル コンピュータが理解しやすい形のデータ。2bitや16ビットで表現されて人間には理解しにくい。
    .exe, .jpg, .mov, .wav(などの拡張子を持つ2進数で構成されたデータ)

COPYコマンドの標準的な使い方。

COPY copy-source copied

例)copy-sourceディレクトリをcopiedディレクトリ内にコピーする。

第1パラメータはコピー元を指定します。コピー元にはファイル、ディレクトリを指定します。コピー先にはコピー先ディレクトリを指定しましょう。この場合、ファイルを指定することはできません。

複数ファイルを結合して一つのファイルとしてコピーする
(ASCIIファイルとしてコピー)

COPY text1.txt+test2.txt margedtext.txt

例)テキストファイルtest1.txtとテキストファイルtest2.txtを結合してmargedtext.txtとして保存する。

この場合、margedtext.txtにはtest1.txtが最初、test2.txtがその次といったように、式の順に結合される。また結合したいファイルは「+」記号で結合させる。また結合したいファイルはスペースなど挟まずに1パラメータとして入力する。

キーボードからテキストを入力してファイルとして保存する。

COPY con keyboard-input.txt

例)デバイスファイル「con」の内容をkeyboard-input.txtに保存する。

第1パラメータのコピー元にデバイスファイルであるconを指定する。conはキーボード(console)を表し、キーボードから入力されたデータをコピー先で指定したテキストファイルに保存する。使い勝手は決して良くはないが、とりあえず入力したデータを保存しておくことはできる。

  • デバイスファイル ファイルシステム上であたかも通常のファイルのような形で提示されるデバイスドライバのインタフェースのこと。これにより、ソフトウェアが入出力システムコールを通してデバイスドライバを使うことができ、作業が単純化されます。

COPYコマンドはパラメータにしてする内容によって、「 ファイルをコピーする。」「複数のファイルを結合する」「キーボードからテキストを入力してファイルとして保存する」など、さまざまな処理を行うことができます。それぞれの特性をよく理解して適切に使い分けられるようにしましょう。