MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


コマンドプロンプトにおけるxcopyコマンドの使用例
profile-img
投稿者: thirumaさん
投稿日:2019/07/24 14:37
更新日:
like-img
分類
技術
テクノロジー
Windows系サーバ
キャリア
運用・保守 / テクニカルサポート / 構築 / 設計 / PL / PM
投稿内容
コマンドプロンプトにおける「xcopy」の使用法について
ふと疑問に思ったので、紹介させていただきます。


「ファイルやフォルダをコピーする」といった内容のコマンドは代表的なものでは「copy」「xcopy」がありますが、それぞれコピー対象が異なります。

簡単に説明すると
「copy」→ファイルのコピー
「xcopy」→フォルダ配下にある全てのファイルを、フォルダごとコピー
といった内容になります。

今回は、バックアップに用いられることの多い「xcopy」について具体的な使用方法を説明しながら紹介しようと思います。


基本的な構文は

xcopy [オプション] [コピー元のフォルダやファイル] [コピー先のフォルダやファイル]
となっています。


1.日時が新しく更新されているファイルのみをコピーする
バックアップコマンドとして「xcopy」コマンドを使うとき、オプションとして、「/d」オプションがあります。これは、コピー先に同じ名前のファイルがあったときにコピー元のファイルと更新日時を比較して、新しければコピーするというオプションです。

つまり、前回コピーしたファイルが変更されたときだけをコピーするというものです。

・前回から変更があるファイル→更新あり
・前回から更新のないファイル→更新なし
ということになります。


2.指定の日付以降に変更されたファイルだけをコピーする
前述の「/d」コマンドに日付を追記して、指定の日付以降に更新されたファイルのみをコピーすることができます。
yyYY年MM月DD日以降に更新されたファイルを更新対象とする場合


xcopy /d:MM-DD-YY [コピー元ファイル] [コピー元フォルダ]
とします
注意点としては、日付指定の際の表記順について、「月」「日」「年の下2桁」
の順となることです。


3.サブフォルダごとコピーする
コピー対象としているディレクトリの中に、さらにディレクトリがある場合
通常だと「xcopy」コマンドではそこまでコピーがされません。
フォルダ内のサブフォルダまで含めてコピーしたい場合には「/s」オプションを用います。
ここで注意点なのですが、「/s」オプションではサブフォルダの中身が空の場合にはコピーされません。サブフォルダの中身が空でもフォルダをコピーしたい場合には、「/e」オプションを用います。


4.コピー先に存在するファイルのみをコピーする
例えば、コピー元フォルダに「folder」フォルダがあり、中に「test1.txt」「test2.txt」「test3.txt」あるとします。
そして「コピー先フォルダとしてコピー先フォルダは既に「copyfolder」
フォルダが存在し、「test2.txt」「test3.txt」がある場合を考えます。


この時、「/u」オプションを使用した「xcopy」コマンドを実行すると

「test2.txt」「test3.txt」のみがコピー対象となります。
※「/y」はコピー先に既存のファイルがある場合、上書きする直前に確認メッセージを表示しないオプションです。
以下に実行結果を示します。


このように、コピー元とコピー先のフォルダに存在する共通のファイル「test2.txt」および「test3.txt」

だけがコピーされました。


今回は「xcopy」「copy」の違いについての簡単な説明と、「xcopy」の具体的な使用例についてご紹介させていただきました。

ご覧いただき、ありがとうございました。


■参考元

https://jj-blues.com/cms/command-xcopy/





コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3