重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

同名の古いタイムスタンプのファイルを見つけて削除したいのですが、効率的な方法が思いつかないので教えて下さい。

削除対象のフォルダ群A1,A2,・・
参照ファイルのあるフォルダ群B1,B2・・
と、
例外ファイル名リスト
があります。

削除対象のフォルダの中のファイルと同名でタイムスタンプが同じか新しいファイルが参照フォルダ群B1,B2・・のどこかに一つでもあればそのファイルを削除するといったことをやりたいのですが、
readme.txt とか index.html のような同名でも意味が違うファイルも中には混じっているので、それらは
 例外ファイル名
として削除対象から外したいのです。

フリーソフトなどご存知でしたら教えてください。
なお、OSはWin7です。

A 回答 (3件)

削除対象が決まっていたんですね。

こんな感じで行けると思います。テストはしてません。
パスには空白が含まれない前提。含まれる場合は適宜 " " で囲んでください。

set FOLDER=\B1 \B2 \B3 \B4 フルパスで書き並べる
set DELFOL=\A1 \A2 \A3 \A4 フルパスで書き並べる
set CHECK=\例外リスト.txt
for %%A in (%FOLDER%) do (
pushd %%A
for %%B in (*) do (
for %%X in (%DELFOL%) if exist %%X\%%B call :SUB %%A\%%B %%X\%%B
)
popd
)
goto :EOF
:SUB
findstr "^%~nx1$" %CHECK% >NUL && goto :EOF
if "%~t1" GTR "%~t2" del %2
goto :EOF
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

なるほど、バッチファイルでできそうですね。
助かります

お礼日時:2015/08/03 09:13

補足です。

No1で載せたFileManyだと中身を無視してファイル名だけでの判断も出来るようです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

私がやりたいのは、重複ファイルの削除ではなく、旧版の削除です。

ご紹介いただいたFileManyでは、ファイル名だけでの判断も出来るようですが、
 削除対象のフォルダ群A1,A2,・・
 参照ファイルのあるフォルダ群B1,B2・・
の指定ができないようです。

削除されるのは、フォルダ群A1,A2,・・の中のファイルに限定されるように設定したいですが指定の方法がわかりません。
検索対象を、フォルダ群A1,A2,・・、B1,B2・・を設定すると、フォルダ群B1,B2・・にあるファイルも削除されてしまう可能性がありそうです。

お礼日時:2015/08/03 00:19

http://www.forest.impress.co.jp/library/software …
のような、重複ファイルの削除ツールがあります。この手のソフトはいろいろありますが、ファイル名の重複でなくファイルの中身が重複している物を削除する機能です。
中身を無視して、ファイル名で重複を判断したいと言うことであれば、使えないですが、
>readme.txt とか index.html のような同名でも意味が違うファイルも中には混じっているので、それらは例外ファイル名として削除対象から外したいのです。
ということであると、ファイルの中身での判断でいいのですかね?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!