2009/02/12(木)高速差分コピーツール
指定した文字列を含むパスを持つファイルを除いて、更新されたファイルだけをコピーします。
EeePCは16GBのSSDがありますが、ちょっと狭いです。なので16GBのSDHCを刺して使ってるのですが、読み書きが遅いのです。この上でプロジェクトを編集して「ビルド」する気にはあまりなれません。なので、一時的にSSDにコピーして仕事して、作業が終わったらこれを使ってSDHCに書き戻そうかという試み。
もともと、FileSystemWatcherでも使うかと思ってたんですが、監視までする必要ないかなぁとかなんとか。xcopyのオプションでなんとかならんかなぁと思って組んだのが、以下。
コピー先に存在しないか、コピー先よりも日時の新しいファイルだけコピーしてくれるバッチファイルです。
ビルド一時ファイルディレクトリ (\\bin\\~と\\obj\\~)はコピー対象にしないとかいった設定ができるので便利かなぁ。どうかなぁ。ちょっとまだ使ってみないとわかりませんが。
xcopyfast.bat
setlocal set srcPath=. set dstPath=D:\\backup echo %~n0>>%~n0.$ echo %~n0.$>>%~n0.$ xcopy %srcPath%\\*.* %dstPath%\\ /D /EXCLUDE:%~s0+%~sp0%~n0.$ /E /C /H /Y del %~n0.$ endlocal exit rem -- コピーしたくないファイルのパスに含まれる文字列を以下に指定のこと -- \\bin\\ \\obj\\