中小企業診断士になったSEのオルタナティブなブログ

xcopyでお手軽に更新データをバックアップ

昔からパソコンを使っている人には、お馴染みですが、

 

Windowsには、batファイルというOSコマンドを実行する機能があり、数行のコマンドをbatファイルに書くだけで、PC作業が効率化できます。

 

私の場合、ノートPCで作業中のJobフォルダから、外付けハードディスクに、更新ファイルのみバックアップする際、

 

次のコマンドを記載したBackUp.batというファイルと

set srcPath=Job
set dstPath=F:\Job

xcopy %srcPath% %dstPath% /s /d /v /i /y /exclude:exclude.txt

pause

 

バックアップ対象外のファイルを記載したexclude.txtというファイルを

*.tmp
*.lnk

 

次のようにJobフォルダと同じ階層に配置して、

 

\Job

BackUp.bat

exclude.txt

 

BackUp.batを実行し、更新ファイルのみ外付ハードディスクにバックアップしています。

 

例えば、1回目の実行で、次のデータをコピーした後、

 

/Job/aaa.txt

/Job/bbb.txt

/Job/bbb.txt

/Job/excel/aaa.xlsx

/Job/excel/bbb.xlsx

 

Job/bbb.txtの内容を更新して、BackUp.batを再実行すると

 /Job/bbb.txt

 

のみが、外付ハードディスクにコピーされます。

 

ここで使用しているxcopyコマンドのオプションの紹介

/s ファイルが存在する場合のみディレクトリごとコピー

/d コピー先に同名のファイルが存在する場合に更新日が新しいファイルのみコピー

/v ファイルの内容が正しいか検査

/i コピー先のディレクトリが存在しない場合は新規にディレクトリを作成

/y 同名のファイルが存在する場合、上書きの確認を行わない

/exclude: 指定したファイルをコピー対象から外す

 

batファイルとPowerShellの使い分け 

 

近い将来、batファイルのサポートは終了して、Windows7から登場したより高機能なPowerShellという仕組みが主流になっていきますが、個人的には、

 

  • 手軽なもの:batファイル
  • 複雑なもの:PowerShell

 

というような使い分けをしています。

(個人的に、どっちで書いた方が、楽なのかの判断基準ですが・・・)

 

無理にとはいいませんが、両方使えるようにしていた方が、何かと便利です。

今後、誰かが書いたbatファイルをPowerShellに書き換えるような事も十分ありえますし・・・

 

※ここで紹介した記事の内容ついては、その責任を負いかねますので、十分内容を吟味した上、各自の自己責任でお願いします

©中小企業診断士になったSEのオルタナティブなブログAll Rights Reserved.
プライバシーポリシー お問い合わせ