◆差分ファイル転送式フォルダ同期ツール
備忘録メモ書きです。GUIを追加した時点で記述を改めます。
変更ファイルのみ転送するフォルダ同期ツール
変更ファイルのみ転送するフォルダ同期ツールhiFolderSyncを作成しました。
予め転送元、転送先をスキャンし拡張子毎の情報を表示すること、同一サイズのファイルについてはタイムスタンプの置き換えだけを行うことも可能であることが大きな特徴です。
次の機能を持ちます。
- 変更のあるファイルのみ置き換え
- サイズが異なる場合は変更ありとし置き換える
- 転送元ファイルの更新時刻が転送先より新しくサイズが同じ場合次の選択が可能
- 置き換える
- タイムスタンプのみ転送元に合わせる
- 転送元にないファイルは転送先から削除(指定可)
- 転送先,転送元のフォルダ数、ファイル数、サイズ数を表示
- フォルダ数
- 拡張子別ファイル数とサイズ
- 操作対象となるフォルダ/ファイルの個数とサイズを表示
- 転送先から削除するファイル
- 転送先にコピーされるファイル
- 置き換えるファイル
- タイムスタンプのみ変更するファイル
- 情報を表示後、確認待ちとする
画面には次のような表示が出ます。ここではm4a(ALAC)が14個,flagが39個作られ,flac81個が置き換えになっています。この他いくつかの画像ファイルなどがあり計144個のファイルが転送対象となっています。
ソース側フォルダ :O:/MUSIC
フォルダ 1289個
ファイル 18605個
.txt 1個 2.2K bytes (2,247)
.mp3 3個 20.5M bytes (20,517,946)
.jpg 2586個 70.9M bytes (70,862,587)
.zip 5個 27.2M bytes (27,190,726)
.m4a 15146個 105.4G bytes (105,362,972,354)
.m3u8 20個 547.4K bytes (547,370)
.flac 843個 112.3G bytes (112,297,186,196)
.xml 1個 29.0M bytes (29,021,446)
変更先側フォルダ :H:/MUSIC
フォルダ 1289個
ファイル 18569個
.txt 1個 2.2K bytes (2,249)
.mp3 3個 20.5M bytes (20,517,946)
.jpg 2589個 68.2M bytes (68,198,868)
.zip 5個 27.2M bytes (27,190,726)
.m4a 15146個 105.1G bytes (105,129,001,630)
.m3u8 20個 547.4K bytes (547,370)
.flac 804個 105.2G bytes (105,167,559,941)
.xml 1個 29.0M bytes (29,020,705)
---------------
削除フォルダ 3個
削除ファイル 22個
.jpg 8個 116.9K bytes (116,942)
.m4a 14個 71.0M bytes (70,982,774)
生成フォルダ 6個
生成ファイル 58個 7.4G bytes (7,437,360,414)
.jpg 5個 2.8M bytes (2,780,661)
.m4a 14個 305.0M bytes (304,953,498)
.flac 39個 7.1G bytes (7,129,626,255)
置換ファイル 86個 4.9G bytes (4,873,435,787)
.txt 1個 2.2K bytes (2,249)
.jpg 3個 971.0K bytes (971,039)
.flac 81個 4.8G bytes (4,843,441,055)
.xml 1個 29.0M bytes (29,020,705)
タイムスタンプ変更ファイル 0個
保持ファイル 18461個
.mp3 3個 20.5M bytes (20,517,946)
.jpg 2578個 67.1M bytes (67,110,887)
.zip 5個 27.2M bytes (27,190,726)
.m4a 15132個 105.1G bytes (105,058,018,856)
.m3u8 20個 547.4K bytes (547,370)
.flac 723個 100.3G bytes (100,324,118,886)
全転送ファイル 144個 12.3G bytes (12,310,796,201)
---------------
置き換えを実行しますか? y/n y
---------------
1/144 01 バッハ_ リチェルカーレ (ヴェーベルン編曲によるオーケストラ版).m4a 39.7M bytes (39,697,266)
*********** 0:26.688
2/144 02 ヴェーベルン_ 弦楽四重奏曲 (1905) (ポッペン編曲による室.m4a 81.1M bytes (81,139,554)
*********** 0:44.110
・・・省略・・・
141/144 Bruckner Symphony No. 4, Romantic _04_Symphony No. 4 in E-Flat Major, WAB 104 Romantic IV. Finale (Bewegt, doch .flac 443.7M bytes (443,701,983)
*********** 4:01.899
142/144 Bruckner: Symp~No. 4, ”Romanti.jpg 364.0K bytes (364,036)
*********** 0:00.220
143/144 info.txt 2.2K bytes (2,247)
0:00.023
144/144 ライブラリ.xml 29.0M bytes (29,021,446)
*********** 0:15.718
---
1:52:25.836
転送中はファイル名とサイズ。その下に進行状態をファイル全体で十個の*で表す表示が出ます。
コマンド形式
GUI版は検討中です。現在CLIコマンドでのみ動作します。次の引数があります。
usage: hiFolderSync -src 転送元フォルダ -dst 転送先フォルダ [-timestamp] [-keep] [-verbose] [-detail] [-help] [-R] [-y] 転送元フォルダの内容に転送先フォルダを合わせる parameters: -src 転送元フォルダ このフォルダの内容がコピーされる 省略するとguiが起動される -dst 転送先フォルダ このフォルダにコピーされる 省略するとguiが起動される [-timestamp] タイムスタンプが転送元より転送先が古い場合 同一サイズファイルは上書きせずタイムスタンプを変更する デフォルトではファイルを置き換える [-keep] srcにないdstのファイルを保持する [-continue-on-error] I/Oエラーが起こっても続けるcheckのみ行う [-R] 実際の変更は行わず、手続きのみ表示する(リハーサル) [-verbose] 処理経過を表示する [-detail] 処理経過を細かく表示する [-y] 置き換え確認を行わない(y応答相当) [-help] このメッセージを出す
現時点では呼び出しは.batにしてあります。必要に応じ-src,-dstを変更してください
set MAIN=hiFolderSync set JAVA=java.exe "%JAVA%" -jar %MAIN%.jar -src O:/MUSIC -dst F:/MUSIC -out kekka.txt -timestamp
ダウンロード/ビルド
hifoldersync.zip をダウンロードし、展開します。次の内容を持ちます。
A01_buikd.bat ビルド A05_run.bat 実行 hiFolderSync.jar ビルド結果の実行jar hiFolderSync.java ソース hiNote_3_11.jar ライブラリ hiSwing_3_11.jar GUIライブラリ(未使用)
A01_buikd.batでビルドするとhiFolderSync.jarが作成されます。
| 固定リンク