フルスタックエンジニアを目指して

いろいろやってみるブログ

コマンドプロンプトを使ってファイルの同期を自動化する

先日、外付けハードディスクが安く売っていたので2台購入。

1台をバックアップ用として使いたかったので、ディレクトリ(フォルダ)を同期できる仕組みがないかと調べたところ、バッチファイル作成で対応可能だったため作ってみた。

 ちなみに、バッチファイル作るのは初めてなので違うところがあったらすみません。

■用意するもの

コマンドプロンプトWindowsに入ってます)

テキストエディタ(メモ帳、秀丸サクラエディタ等)

 

■方法

1.バッチファイル作成

構文:xcopy [source file] [target file] (option)

例文:xcopy E:\*.* F:\ /D /S /Y

今回の環境では、外付けHDDが「E:\」と「F:\」で認識されているので、[source file]を「E:\」、[target file]に「F:\」を当てはめている。

オプションはそれぞれ下記のような意味。

  • /D  コピー先に同名のファイルが存在する場合、更新日が新しいファイルのみコピー
  • /S  ファイルが存在する場合のみディレクトリごとコピー
  • /Y  同名のファイルが存在する場合、上書きの確認を行わない

すなわち、EドライブからFドライブに対して、新規、変更のあったファイルだけがコピーされるという内容。

他のオプションもたくさんあるのでググってみると良い。

 

バッチ実行後ウィンドウを閉じたくない場合は「cmd /k」を入力。

 

最終的な形は以下のとおり。

cd \
xcopy E:\*.* F:\ /D /S /Y
cmd /k

最初に「cd \」を入力しておくことで、バッチファイルの保存場所に関係なくうまく実行できるようになる。

 

2.編集したファイルを拡張子「.bat」で「名前をつけて保存」

バッチファイルとして保存します。名前は何でもOK。

 

3.コマンドプロンプトで実行

  • 「cd」(チェンジディレクトリ)コマンドでバッチファイルを保存したディレクトリに移動。
  • 「dir」(ディレクトリ)コマンドで対象のバッチファイルがあることを確認。
  • 作成した「*.bat」を入力してEnterキーを押すとバッチファイルが実行される。

4.毎回手動でするのは面倒なのでスタートアップに登録

下記リンクを参照して登録

 

■参考にしたサイト