複数ファイルのコピーで全て上書きしない
Windows XPで複数のファイルをコピーするときに、
Yes / No / All って出るんだけど、「No All」って選択肢がないから、
同じファイルがないものだけコピーってのができない。
DOSのCOPYやXCOPYでも、Y/-Y で上書き確認するかしないかは指定できるが、
上書きはしない&確認もしないってオプションがない。
(コピー中、Nキーをずっと押しとくという手もあるが何分もかかるコピーの場合、それもちょっと。。。)
Vistaだとすべてに適用とかなんとかで、すべて上書きしないもできるらしい。
でも、うちはまだXPだし。
何かファイル関連ツールを使うか、WSHとかで簡単なスクリプトを書くかーと思ったが、
こんなありがちな作業で自分でスクリプトを書くなんてとんでもない!と思って、
久々にAntを使ってみた。でも、考えてみると、build.xml書いてるじゃんと気づいたが、まぁいいや。
とりあえずcopyタスクでoverride=falseにしとけば(指定しなくてもデフォルト)、上書きしないことになる
(正確にはタイムスタンプが新しくないと上書きしない)。
で、LAN上の他のPCにコピーしようと思ったんだけど、\\pc2\...というパスの指定(UNCのコンピュータ名)で、(エスケープしないでふつうに\\pc2\...で可だった)
円マークをつなげて\\\\pc2\\...とかしてもうまくいかない。
/でも\\でもどっちでも何か勝手にうまいことやってくれてたんじゃなかったかな?
locationとかfileとか何か指定するんだったけか?何年ぶりかにant使ったら、もはやすべて忘れた状態。
とりあえず\\pc2\...でなくて//pc2/...と書いたら動いた。
しかし、何千個もファイルコピーすると Copying xxx files to ... とかで表示がとまって、
カリカリコピーしてるので、あまり何十分もかかるコピーだとこれも何か危うい感じか。
面倒なので、これでよしとしよう。しかし、何かDOSコマンドとか標準ツールだけで、
とんでもなく簡単にできそうな気もするのに、すごい無駄なことをしている気もする。