Windowsコマンドプロンプトの「copy」コマンド徹底解説:全オプションと使用例

この記事ではcopyコマンドの成功を「コピー元を一件に絞り、/Vで書き込み確認を有効にしてコピー元を残したまま比較する」と定義します。Windowsコマンドプロンプトの「copy」コマンド徹底解説:全オプションと使用例を本番へ移す前に、対象・実行者・時刻・復旧材料を一組で残します。

copyコマンドの対象境界は「cmd.exeのcopyによるファイル複製。ディレクトリツリー、ACL保持、再開可能転送はxcopyやrobocopyを検討する」です。copyコマンドで範囲外の候補、実在しないpath、想定外の実行identityが一つでもあれば開始せず、certutilの取得段階へ戻ります。

目次

copyコマンド|コピー元を一件に絞り、/Vで書き込み確認を有効にしてコピー元を残し…|accept

copyコマンドではcertutilのbaseline、certutilの再取得、copyの復旧材料を同じ対象へ結べた時だけ完了です。copyコマンドの表示上の成功と利用側の結果が違う場合は後者を優先し、承認記録を閉じません。

確認対象Windowsのcopyコマンド
適用範囲cmd.exeのcopyによるファイル複製。ディレクトリツリー、ACL保持、再開可能転送はxcopyやrobocopyを検討する
成功条件コピー元を一件に絞り、/Vで書き込み確認を有効にしてコピー元を残したまま比較する
中止条件copyは通常ディレクトリ階層を再帰処理しない
復旧基準保存した変更前状態へ戻し、同じ検証を再実行できること

copyコマンドの対象boundary|cmd.exeのcopyによるファイル複製。ディレクトリツリー、AC…

copyコマンドを開始する前の停止条件は「copyは通常ディレクトリ階層を再帰処理しない」です。copyコマンドの対象数、権限、同時更新の有無を読み合わせ、この兆候を除外できない場合は変更commandを実行しません。

  • 対象boundary:cmd.exeのcopyによるファイル複製。ディレクトリツリー、ACL保持、再開可能転送はxcopyやrobocopyを検討する
  • 変更前証拠:certutilのstdout・stderr・終了状態と取得時刻
  • 承認前の禁止条件:copyは通常ディレクトリ階層を再帰処理しない
  • 復旧input:copyが参照する保存物を実在確認する

copyコマンド × certutil|比較元を確定する

copyコマンドではcertutilを変更前に実行し、対象名、内部識別子、件数、主要属性を作業記録へ保存します。copyコマンドの空stdoutを正常値へ変換せず、権限不足と対象なしを別statusにします。

dir /a "C:\Lab\CopySource\manual.txt"
certutil -hashfile "C:\Lab\CopySource\manual.txt" SHA256
if exist "C:\Lab\CopyTarget\manual.txt" copy /V /-Y "C:\Lab\CopyTarget\manual.txt" "C:\Lab\CopySource\manual.previous.txt"

copyコマンドのこの出力は、後続のcopyへ渡す入力の存在確認です。copyコマンドの取得中に対象が変わったrunは破棄し、同じidentityについてbaselineを採り直します。

copyコマンドの判定field|1 file(s) copied、/V、/-Y

1 file(s) copiedWindowsのcopyコマンドでは処理件数の表示。ハッシュや内容が期待どおりかは別に確認する
/VWindowsのcopyコマンドでは書き込み後の検証を要求するが、業務上の内容一致はハッシュ比較でも補う
/-YWindowsのcopyコマンドでは既存ファイルへの上書きを対話確認にし、初回の衝突を見逃さない

copyコマンドで比較するfieldは「1 file(s) copied、/V、/-Y」です。copyコマンドを単独の表示名や時刻だけで同一と決めず、対象identityと適用範囲を一行のrecordへ束ねます。

copyの全オプションを目的別に選ぶ

option意味使用上の境界
/AASCII textとして扱い、EOF文字を解釈する通常の文書・binary copyでは使わない
/Bbinaryとして扱う通常の一件copyの明示値
/DEFS暗号化元を復号してdestinationへ保存できるようにする機密性とdestination ACLを承認してから使う
/V書込み後の検証を有効にするSHA-256照合の代替にはしない
/N利用可能なら短いfile名を使う8.3名が必要な互換用途だけ
/Y既存destinationを確認なしで置換する初回例では使用しない
/-Y既存destinationの置換前に確認する対話検証で採用する
/Znetwork copyを再開可能modeで行うUNC等の中断し得る転送で使用する
/?local helpを表示するOS版ごとの差を実機で確認する

copyコマンドの限定操作|copyとcmd.exeのcopyによるファイル複製。デ…

copyコマンドのcopy例は検証用の一対象へ限定します。copyコマンドの入力値、上書き先、previewまたは安全optionを読み直し、backupが参照できない状態では承認済み実行へ進みません。

rem copy の既定はバイナリ。/V と /-Y で一件を安全に確認する
copy /B /V /-Y "C:\Lab\CopySource\manual.txt" "C:\Lab\CopyTarget\manual.txt"

rem ネットワークコピーを再開可能にする場合だけ /Z を使う
copy /B /V /Z /-Y "\\fileserver\share\manual.txt" "C:\Lab\CopyTarget\manual-from-share.txt"

rem EFS暗号化元を復号して保存する必要が承認された場合だけ /D を追加する
copy /D /B /V /-Y "C:\Lab\Encrypted\manual.txt" "C:\Lab\DecryptedStage\manual.txt"

copyコマンドへcopyを実行した直後は別対象へ連続適用せず、処理件数とwarningを保存します。copyコマンドで部分成功があれば成功分と未処理分を分け、certutilの確認を先に行います。

copyコマンドのacceptance|certutilとコピー元を一件に絞り、/Vで書き込み確認を有効にしてコ…

copyコマンドではcertutilを使い、変更commandの変数ではなく保存後の現状を独立して読み直します。copyコマンドの主要値、件数、利用側の代表操作がすべて一致した場合だけacceptします。

dir /a "C:\Lab\CopyTarget\manual.txt"
certutil -hashfile "C:\Lab\CopyTarget\manual.txt" SHA256
  • 主要判定:コピー元を一件に絞り、/Vで書き込み確認を有効にしてコピー元を残したまま比較する
  • error判定:stderrまたはaccess deniedを空結果へ丸めない
  • 利用側確認:予約デバイス名や末尾空白、長いパスでは期待どおり扱えない場合があるという条件を除外する
  • recovery確認:copyの入力と対象identityがbaselineに一致する

copyコマンド|停止:copyは通常ディレクトリ階層を再帰処理しない

copyコマンドで停止する兆候は「copyは通常ディレクトリ階層を再帰処理しない」です。copyコマンドを再実行回数で解決せず、対象選択と前提条件を修正して新しいbaselineから再開します。

copyコマンド|保留:複数ファイルを一つへ連結する構文と単純複製を混同すると内容が変わる

copyコマンドで「複数ファイルを一つへ連結する構文と単純複製を混同すると内容が変わる」を検出した結果は保留にします。copyコマンドの現在状態と残存物を保存し、影響範囲を特定してから復旧か再試行かを選びます。

copyコマンド|再設計:予約デバイス名や末尾空白、長いパスでは期待どおり扱えない場合がある

copyコマンドの設計を戻す条件は「予約デバイス名や末尾空白、長いパスでは期待どおり扱えない場合がある」です。copyコマンドとは別層の権限・format・運用要件が原因なら、optionを足さず担当workflowへ引き渡します。

copyコマンドのrecovery|copyで保存状態へ戻す|copyコマンド

copyコマンドではcopyが参照するbackup、旧値、または候補fileを変更前に作り、hash・権限・対象identityを確認します。copyコマンドの復旧開始時にも現在状態を追加保存し、上書き対象を一件へ絞ります。

copy /V /-Y "C:\Lab\CopySource\manual.previous.txt" "C:\Lab\CopyTarget\manual.txt"

copyコマンドでcopyを終えた後は、baselineとの一致だけでなく利用側の代表操作も再試験します。copyコマンドの復旧中に新しいerrorが出たらcommandを止め、残った状態を保全してownerへ渡します。

copyコマンドの運用case|配布用テキスト一件を複製するとき、コピー前後のSHA-256を記録し、同名があればpr…

copyコマンドの運用例は「配布用テキスト一件を複製するとき、コピー前後のSHA-256を記録し、同名があればprevious名へ退避してから/-Yで承認する運用」です。copyコマンドの対象固定、承認番号、変更前後の比較、復旧可能性を一つのrun recordへまとめます。

copyコマンドをautomationへ載せる場合は、重複実行を防ぐlock、開始終了時刻、処理件数、certutilの判定を保存します。copyコマンドのlogから秘密値を除外し、失敗runを前回値で上書きしません。

copyコマンドの判断FAQ|フォルダー全体もcopyで複製できますか

copyコマンド|フォルダー全体もcopyで複製できますか

結論:copyは主にファイル向け。階層全体はxcopyやrobocopyの要件を比較する

copyコマンド|/Bと/Aは何が違いますか

選択基準:/Bはバイナリ、/AはASCIIとして扱う指定で、通常の文書複製では不用意な連結や終端処理を避ける

copyコマンド|成功表示だけでよいですか

運用上の答え:件数表示に加え、サイズ、更新日時、ハッシュ、実際の読込みを確認する

copyコマンドの採用条件は、上記の独立確認が通り、停止条件が一件も残らず、copyの復旧材料が読めることです。copyコマンドで対象identityが途中変化したrunは破棄し、保存済みbaselineから再収集します。

全オプション解説を実行例へ結び付ける

文字列結合の+や複数source指定では/Aと/Bの位置で解釈範囲が変わるため、binary fileを連結する例へASCII optionを混ぜません。/Nは短名互換、/Zはnetwork再開、/DはEFS復号という別目的です。

どのoptionでも同名destinationの存在確認とsource/destinationのSHA-256比較を独立して行います。/Vだけで内容同一性を保証したとは判断しません。

公式情報・参考資料

copyコマンドの構文と制約は、本文末の一次資料と対象環境のlocal helpで照合します。copyコマンドの記事確認日は2026年7月17日で、版が異なる場合はoption、default、終了statusの差を先に確認してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次