nur kleinere Dateien ersetzen
hallo gemeinde,
ich bin auf der suche nach einem tool, welches beim kopieren/verschieben automatisch nur kleinere dateien ersetzt.
hintergrund:
ich nehme viel internetradio auf und kopiere ein mal die woche die dateien auf externe festplatten.
viele dateien nehme ich doppelt auf weil sie oft im radio wiederholt werden.
beim kopieren auf meine externen festplatten werde ich vom explorer gefragt, ob ich eine datei mit gleichen namen ersetzen möchte.
ich schaue mir die größe der dateien an und wenn die vorhandene datei kleiner ist sage ich ja bitte überschreiben.
bei dieser menge von dateien die sich anhäuft ist es sehr mühselig immer manuell die größe abzugleichen.
gibt es da eine lösung?
danke und gruss
ich bin auf der suche nach einem tool, welches beim kopieren/verschieben automatisch nur kleinere dateien ersetzt.
hintergrund:
ich nehme viel internetradio auf und kopiere ein mal die woche die dateien auf externe festplatten.
viele dateien nehme ich doppelt auf weil sie oft im radio wiederholt werden.
beim kopieren auf meine externen festplatten werde ich vom explorer gefragt, ob ich eine datei mit gleichen namen ersetzen möchte.
ich schaue mir die größe der dateien an und wenn die vorhandene datei kleiner ist sage ich ja bitte überschreiben.
bei dieser menge von dateien die sich anhäuft ist es sehr mühselig immer manuell die größe abzugleichen.
gibt es da eine lösung?
danke und gruss
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 86807
Url: https://administrator.de/forum/nur-kleinere-dateien-ersetzen-86807.html
Ausgedruckt am: 27.04.2025 um 17:04 Uhr
4 Kommentare
Neuester Kommentar
Moin marcointhemiddle,
ein Tool für diesen Zweck kenne ich zwar nicht, aber mit wenig Aufwand ließe sich ein dreieinhalbzeiliger Batch erstellen, der das abfackelt.
Strategie:
Wenn Du Deine Quellpfad/Zielpfad-Gegebenheiten posten könntest, dann ließe sich eine Skizze basteln - wenn eine banale Batchlösung ausreichend für Deine Ansprüche wäre.
Grüße
Biber
ein Tool für diesen Zweck kenne ich zwar nicht, aber mit wenig Aufwand ließe sich ein dreieinhalbzeiliger Batch erstellen, der das abfackelt.
Strategie:
- Mit XCopy /U /L eine Liste aller Dateien erstellen, die sowohl in Quelle wie auch Ziel existieren
- mit zwei FOR-Anweisungen in einer Zeile die Dateinamen um Dateigrößeninfo anreichern und dann mit "If %%zi GTR %%zi COPY quelle ziel /y" kopieren.
Wenn Du Deine Quellpfad/Zielpfad-Gegebenheiten posten könntest, dann ließe sich eine Skizze basteln - wenn eine banale Batchlösung ausreichend für Deine Ansprüche wäre.
Grüße
Biber
Moin marcointhemiddle,
wenn ich es richtig verstanden habe, dann wäre es -wenn Du jeweils einen Ordner kopierst - am Sinnvollsten, wenn Du nach diesem Sender-Ordnernamen gefragt wirst.
Der Batchschnipsel würde dann eine Liste mit der sowohl in Quelle wie in Ziel vorhandenen Dateien erstellen, nach Größenvergleich die Dateien aus Quelle löschen, falls diese in Ziel gleich groß oder größer vorhanden sind. Dann kannst Du hinterher eine Komplett-Liste mit allen Quell-Dateien kopieren oder verschieben.
Im Moment würde der (ungetestete) Schnipsel nur alle gefundenen Duplikate, die in Quelle gelöscht werden könnten ANZEIGEN.
Sollte das Resultat passen, kann das Wort "ECHO" in der letzten Zeile entfernt werden.
Und eigentlich könnte danach mit einer weiteren Zeile alles (auch die Nicht-Duplikate/ die Unikate) von Quelle nach Ziel kopiert werden:
Grüße
Biber
wenn ich es richtig verstanden habe, dann wäre es -wenn Du jeweils einen Ordner kopierst - am Sinnvollsten, wenn Du nach diesem Sender-Ordnernamen gefragt wirst.
Der Batchschnipsel würde dann eine Liste mit der sowohl in Quelle wie in Ziel vorhandenen Dateien erstellen, nach Größenvergleich die Dateien aus Quelle löschen, falls diese in Ziel gleich groß oder größer vorhanden sind. Dann kannst Du hinterher eine Komplett-Liste mit allen Quell-Dateien kopieren oder verschieben.
:: ---DeleteDupsInSource.bat
@echo off & setlocal
Set /P "Sender=Welchen Sender bearbeiten/prüfen? [leer für alle] "
If not exist "E:\Radio\%sender%\*.*" goto :eof
XCopy "E:\Radio\%sender%" "I:\%sender%\" /U /y /L |find /v "Datei(en)">%temp%\liste.txt
For /F "delims=" %%i in (%temp%\liste.txt) do for %%j in ("I:\%sender%\%%~nxi") do IF %%~zi LEQ %%~zj ECHO DEL "%%i"
Im Moment würde der (ungetestete) Schnipsel nur alle gefundenen Duplikate, die in Quelle gelöscht werden könnten ANZEIGEN.
Sollte das Resultat passen, kann das Wort "ECHO" in der letzten Zeile entfernt werden.
Und eigentlich könnte danach mit einer weiteren Zeile alles (auch die Nicht-Duplikate/ die Unikate) von Quelle nach Ziel kopiert werden:
XCopy "E:\Radio\%sender%" "I:\%sender%\" /y
Oder per MOVE verschoben. Aber diese Variationen dieser Skizze bekommst Du allein hin.Grüße
Biber