swriter.exe - 超代筆君 MEGA-Mix
 Copyright (c) YumemiYougie-Project

 


更新されたファイルのみを抽出

 大量のデータを受け取り、作業をした後返す際に、どのファイルが更新されたのかが分からない。

CVSの設定は複雑で分からない…またはそれをするほどに継続する作業でもない…といった場合に便利です。

 

手順 バックアップフォルダとの比較


まだサンプルをダウンロードしていない場合は、ダウンロードページから「チュートリアルサンプル」をダウンロード。

renewfiles フォルダを開きます。

data フォルダにサブフォルダ、ファイルが入っています。 data_old にも同じデータが入っています。

 


data

作業を渡された時に data フォルダを受けとったとします。


data_old

その時に data_old を保存データとしてコピーしておいたとします。

 

サンプルでは既に data フォルダの中のデータ

 00\NR_DAY01.TXT
 01\NR_DAY05.TXT

の日付が更新してあります。

 

サンプルの内容は、

 データを受け取りバックアップを取り上記2つのファイルに必要な修正を加えた

という段階の状態にしてあるという事です。

 

バッチファイルを実行。


renewfiles.swb
[script]
renewfiles data_old data_update

[files]
data\*.*

[files] で指定するのが現在の最新データ。

 

実行結果

data_update\00\NR_DAY01.TXT
data_update\01\NR_DAY05.TXT
2 renewfile(s).
Completed...

update_data

バッチファイルの2つめの引数で指定した data_update フォルダが作成されています。

その中に更新されたファイルのみコピーされています。新規に作成されたデータもコピーされます。

ディレクトリ構造もそのまま再現されています。

 

この方法では、作業において削除されたデータがあるかどうかを知る事はできません。

削除されたデータを知りたい場合は下の方法を使います。

 

手順 日付情報ファイルとの比較


 バックアップを置いておくにはデータが大き過ぎる、という場合はファイル情報を格納したファイルを保存しておいて、

そのファイルと比較する事で更新データを抽出します。

ここではサンプル data_old フォルダを使わずに解説します。

 

データの記録

同じく renewfiles コマンドを使用します。


記録.swb
[script]
renewfiles null list.bin

[files]
data\*.*

[files] に指定するデータの情報を格納したデータ list.bin を作成します。

2つめの引数は使用しません。

※ピリオドでフォルダか情報ファイルかを判断しているので、ピリオドを含むフォルダ名は使用できません。

 

バッチファイルを実行

 


data

の日付情報を格納した


LIST.BIN

が作成されます。

 

 

必要な修正を加えます。


data

フォルダ内のデータを修正してみて下さい。

 

 

更新データの抽出


更新.swb
[script]
renewfiles list.bin data_update

[files]
data\*.*

2つめの引数に、元のフォルダを指定する代わりに list.bin を指定します。

バッチファイルを実行すると


update_data

に更新されたファイルのみ、フォルダ構造はそのままにコピーされます。

新規に作成されたデータもコピーされます。

 

こちらの方法では「元は存在したが更新時に削除されたデータ」もリストアップされます。