私は2つのフォルダーをrobocopy(srcとミラー)と同期させており、30日間はミラー内のファイルを削除しないようにしています。 /MINAGE
オプションを使用して、「30日より古いすべてのファイルを検討する」と言って、ミラー内の30日経過したファイルのみを削除しましたが、使用可能なファイルに対してのみ機能しているようです(削除されていません)。
robocopy /MIR /MINAGE:30 /SD:src /DD:mirror
したがって、基本的に、新しいファイルを作成すると、ミラー内で正しく同期されます(ファイルをまったく削除しない別のrobocopyタスクによって)。また、削除した翌日には、前のコマンドを実行したときにミラー内のファイルも削除されます。要約すると、srcフォルダーで削除され、ミラーで30日以上経過したファイルを削除したいと思います。
何か不足していますか?
ありがとうございました。
Robocopyでそれを行う方法がわかりませんが、あなたがしているのと同じことをしたいときは、次の行をバッチファイルに入れます。
forfiles -p %_BACKUPPATH% -m *.rar -d -3 -c "cmd /c del @path"
解剖は次のとおりです。
forfiles
-ファイルをフィルタリングするためのプログラム-p %_BACKUPPATH%
---p
は「パス」を示します(私のものは%_BACKUPPATH%
ですが、これを「実際の」パスに置き換えることができます)。それ以外の場合は、現在のディレクトリを使用します。-m *.rar
-ファイルタイプ.rar
でフィルタリングし、*.*
のこのパラメータをスキップします-d -3
-3日以上経過したファイルのみに影響します(-3
)-c "cmd /c del @path"
--c
の後ろは、見つかった各ファイルに対して実行されるもので、この場合はdel
です。