Ich weiß, dass dies schon einige Jahre her ist, aber ich habe gerade ein Freeware-Tool gefunden, das die erforderliche Aufgabe genau erledigen kann. Ein Befehlszeilen-Tool, XXCOPY von Pixelab http://www.xxcopy.com/
In meinem eigenen Szenario habe ich Hunderte von JPEG-Bildern mithilfe der qscale-Option von FFmpeg stapelweise neu komprimiert und nach einer Möglichkeit gesucht, nur kleinere Dateien zu überschreiben. Also habe ich es versucht und es hat bei mir funktioniert. Ich habe dies überprüft, indem ich einen Sicherungsordner erstellt und anschließend die Ordnergrößen verglichen habe. Gleiche Anzahl von Dateien für beide Ordner, aber der andere ist jetzt kleiner.
Die ursprüngliche Frage und die Antwort ist hier:
Überschreiben Sie nur Dateien, die kleiner sind.
https://groups.google.com/forum/#!topic/alt.msdos.batch.nt/Agooyf23kFw
Überraschenderweise enthielt es auch eine Lösung für das Asker-Problem. Hier ist ein Teil der Antwort des XXCOPY-Autors:
Könnten Sie mir einen Hinweis geben?
Mein Problem: Ich habe einige Dateien in einem Verzeichnis und einige in einem Unterverzeichnis und möchte die Dateien in das Unterverzeichnis kopieren. Das eigentliche Problem ist, dass nur Dateien überschrieben werden sollten, die kleiner sind.
Sie können XXCOPY (eine Freeware für den persönlichen Gebrauch) ausprobieren. Der gewünschte Befehl lautet wahrscheinlich:
xxcopy \your_source\ \destination\ /s /bzs /y
Es gibt andere Variationen bei Sicherungsvorgängen
/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
Es hat auch eine vielseitige Ausschlussfunktion. Sie können den gleichen Dateiauswahlmechanismus bei Löschvorgängen anwenden. Ein weiterer Vorteil gegenüber Xcopy ist, dass sich XXCopy in allen Windows-Versionen (95,98, ME, NT / 2K / XP) gleich verhält.
Ich denke, der Asker würde stattdessen die / BZX brauchen .