Bunun birkaç yıl önce olduğunu biliyorum, ancak tam olarak gereken işi yapabilecek ücretsiz bir araç buldum. Komut satırı aracı, Pixelab tarafından XXCOPY http://www.xxcopy.com/
Kendi senaryomda, FFmpeg'in qscale seçeneğini kullanarak yüzlerce JPEG görüntüsünü toplu olarak sıkıştırdım ve yalnızca daha küçük dosyaların üzerine yazmanın bir yolunu arıyordum. Bu yüzden denedim ve benimle çalıştı. Bir yedekleme klasörü oluşturarak doğruladım, daha sonra klasör boyutlarını karşılaştırdım. Her iki klasör için de aynı sayıda dosya var, ancak diğeri şimdi daha küçük.
Asıl soru ve cevap burada:
sadece daha küçük dosyaların üzerine yaz
https://groups.google.com/forum/#!topic/alt.msdos.batch.nt/Agooyf23kFw
Şaşırtıcı bir şekilde, Asker sorununa da bir çözüm getirdi. İşte XXCOPY yazarının cevabının bir kısmı:
Bana bir ipucu verebilir misin?
Sorunum: Bir dizindeki bazı dosyaları, bir alt dizindeki bazı dosyaları aldım ve bu dosyaları alt dizine kopyalamak istiyorum. Asıl sorun, sadece daha küçük olan dosyaların üzerine yazılmalıdır.
XXCOPY'yi deneyebilirsiniz (kişisel kullanım için ücretsiz bir yazılım). İstediğiniz komut muhtemelen:
xxcopy \your_source\ \destination\ /s /bzs /y
Yedekleme işlemlerinde başka değişiklikler var
/BI // backup incremental (skip files of same size and time)
/BN // backup newer files only
/BO // backup older files only
/BX // backup files with a different timestamp
/BZS // backup smaller files only
/BZL // backup larger files only
/BZX // backup files with different size
/BZE // backup files with the same size
/BS // backup files with same size and timestamp
Aynı zamanda çok yönlü bir dışlama özelliğine sahiptir. Silme işlemlerinde aynı dosya seçme mekanizmasını uygulayabilirsiniz. Xcopy'ya göre bir başka avantaj, XXCopy'nin herhangi bir Windows sürümünde (95,98, ME, NT / 2K / XP) aynı şekilde davranmasıdır.
Bu yüzden Asker yerine / BZX gerekir .