Forfile kullanarak X günden eski dosyaları farklı dizinlerden silmek


0

Dosyaları 1 günden daha eski olan farklı dizinlerden (100+ farklı dizin) (sadece alt klasörleri değil dosyaları değil) silen ve her gün görev zamanlayıcıda bu toplu işlemi çalıştıran bir toplu iş dosyası oluşturmak istiyorum.

Bu komut dosyasını buldum, ancak birden çok dizindeki dosyaları silmek için uyarlamanız gerekiyor ... Bu nasıl başarılacağı konusunda herhangi bir yardım lütfen? veya bu parti farklı dizinlerde çalışacak mı?

@echo off
:: set folder path
set dump_path=c:\shares\dump

:: set min age of files to delete
set max_days=1

:: remove files from %dump_path%
forfiles -p %dump_path% -m *.* -d -%max_days% -c "cmd  /c del /q @path"

:: remove sub directories from %dump_path%
forfiles -p %dump_path% -d -%max_days% -c "cmd /c IF @isdir == TRUE rd /S /Q @path"

Alt dizinlerden silmek istediğiniz anlamdaki çoklu dizinler veya bunlar tamamen farklı dizinlerdir.
Ali786

Hem alt dizinler hem de farklı dizinler ...
Mike G

Yanıtlar:


1

Sanırım eklemek gerekir foreach-object Bir metin dosyasında veya dizide temizlemek istediğiniz klasörlerin listesini ekleyebileceğiniz "loop", ardından çalıştır foreach-object diğer kodun etrafında.

daha fazla bilgi foreach nesne

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.