marcointhemiddle
Goto Top

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

Content-Key: 86807

Url: https://administrator.de/contentid/86807

Printed on: April 16, 2024 at 13:04 o'clock

Member: Biber
Biber May 02, 2008 at 00:19:51 (UTC)
Goto Top
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:
  • 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
Member: marcointhemiddle
marcointhemiddle May 02, 2008 at 07:31:09 (UTC)
Goto Top
hallo biber,

vielen dank für deine schnelle antwort.

deine lösung ist mir absolut hilfreich.


meine quell/zielpfad-gegebenheiten:

quelle interne festplatte: partition e, order radio, unterordner der jeweiligen radiosender

ziel externe festplatten: partition zb i: ordner des jeweiligen radiosender

ich kopiere immer ordner für ordner.


gruss
Member: Biber
Biber May 02, 2008 at 17:18:53 (UTC)
Goto Top
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.
:: ---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
Member: marcointhemiddle
marcointhemiddle May 15, 2008 at 18:12:17 (UTC)
Goto Top
hallo zusammen,

vielen dank für eure mühe. ich habe inzwischen ein programm gefunden.
nennt sich anti-twin.

grüße