2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« 同じ木構造でコピー先ディレクトリに同名ファイルがないものだけをコピーする。 | トップページ | 「デスクトップ」の増殖を阻止せよ。 »

2006年11月18日 (土)

同じ木構造で比較先ディレクトリに同名ファイルがないものを比較元ディレクトリから削除する。

昔はツールを使って「find dir1 -t -^exists dir2 -rm」で簡単に出来たのですが、
ツールがLFNに対応してないため、これに代わるバッチファイルを作ってみました。

使用法: FindNotExistsRm.CMD 比較元ディレクトリ 比較先ディレクトリ

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%0 IN (%1) DO (
FOR /R %1 %%1 IN (*) DO (
SET x=%%~f1
SET x=!x:%%~f0=%2!
If NOT EXIST "!x!" (
echo DEL "%%~f1"
)
)
)

念のため、DELコマンドはechoでコメントにしてあります。
各自のシステム環境で十分テストした上でコメントを外してください。

« 同じ木構造でコピー先ディレクトリに同名ファイルがないものだけをコピーする。 | トップページ | 「デスクトップ」の増殖を阻止せよ。 »