SmartCopy v0.3.1
Dateien kopieren und verschieben unter Windows

Nach dem Abbruch weiter,
prüfen vor dem Löschen.

Bricht der Kopierdialog des Explorers ab, verrät er nicht, wie weit er kam. SmartCopy stellt die Arbeit in eine Warteschlange, lässt pausieren und fortsetzen und löscht die Quelle beim Verschieben erst nach der Prüfung. USB abziehen, NAS verlieren, neu starten — der Fortschritt bleibt.

Ohne Installation · ohne Administratorrechte · Windows 10 / 11 (64 Bit)

Echte Oberfläche · Beispieldaten
SmartCopy v0.3.1 Admin-KonsoleProtokoll─ □ ✕
Quelle
D:\Fotos 2024
D:\Kamera-Originale
Ziel
E:\Sicherung
Aktion
KopierenVerschieben
Prüfen
SHA-256
Starten
Fotos 2024 → Sicherung Läuft
12,481 / 20.004 Dateien 14.2 GB / 22.8 GB 186 MB/s Restzeit 00:47

12.481 fertig · 0 übersprungen · 0 fehlgeschlagen · 8,6 GB übrig

D:\Fotos 2024\2024-07\IMG_4821.ARW

Pause Abbrechen
Projektarchiv → NAS Warten auf Verbindung
3,902 / 6.110 Dateien 41.0 GB / 64.3 GB Pausiert

Gerät getrennt — es geht weiter, sobald es zurück ist (WinError 64)

Rechnungen → Archiv Fertig
412 / 412 Dateien SHA-256 geprüft
Die Reihenfolge beim Verschieben

Die Quelle kommt zuletzt

Verschieben sind drei Schritte — jeder wartet auf den vorigen.

Schritt 1

Kopieren

schreibt am Ziel als .scpart eine temporäre Datei. Erst wenn sie vollständig geschrieben ist, bekommt sie den endgültigen Namen — eine halb geschriebene Datei sieht nie fertig aus.

Schritt 2

Prüfen

Größe und Änderungszeit werden verglichen, auf Wunsch auch SHA-256. Weicht etwas ab, wird diese Kopie gelöscht und neu geschrieben.

Schritt 3

Quelle löschen

Nur geprüfte Dateien verlieren ihre Quelle. Übersprungene behalten sie, und leere Ordner werden zum Schluss aufgeräumt.

Ein Verschieben innerhalb desselben Laufwerks ist nur ein Umbenennen — schnell, ganz ohne Zwischenzustand. Die drei Schritte oben gelten nur laufwerksübergreifend.

Wenn der Name schon vergeben ist

Sechs Konfliktregeln

Legen Sie es beim Anlegen des Auftrags fest oder lassen Sie jedes Mal fragen. Wenn gefragt wird, bietet der Dialog Auch auf spätere Konflikte anwendenan.

RegelWas sie tutWann sinnvoll
overwriteÜberschreibt das ZielEinwegsicherungen, bei denen die Quelle stets die neueste ist
skipÜberspringt und lässt die QuelleNur Fehlendes ergänzen
renameName (1).extals neue DateiWenn beide bleiben sollen (Standard)
keep_newerBehält das zuletzt geänderteEinen beidseitig bearbeiteten Ordner zusammenführen
keep_largerBehält das größereWenn abgeschnittene Dateien dabei sind
askZeigt beide Größen und Zeiten und fragtWenn jeder Fall einzeln zu entscheiden ist
Abbrüche · Abziehen · Stromausfall

Es merkt sich, wo es stehen blieb

Der Fortschritt lebt nicht nur am Bildschirm — er wird auf die Platte geschrieben. Die App schließen oder Strom verlieren wirft Sie nicht zurück an den Anfang.

Das Auftragsjournal

Jede fertige Datei wird als eine Zeile angehängt. Da nur angehängt wird, beschädigt ein Stromausfall höchstens die letzte Zeile — und die wird einfach verworfen.

  • Erneut starten — fertige Dateien werden übersprungen
  • Ein erfolgreich beendeter Auftrag löscht sein Journal selbst
  • Beim Start sucht es unfertige Aufträge und fragt, ob es weitergehen soll

%LOCALAPPDATA%\SmartCopy\jobs\

Fortsetzen innerhalb einer Datei

Bei einer großen Datei bleibt im .scpartgenau erhalten, wie weit es kam. Fortgesetzt wird erst, wenn eine Begleitdatei bestätigt, dass Größe und Änderungszeit der Quelle gleich sind.

  • Hat sich die Quelle geändert, beginnt es neu statt fortzusetzen
  • Reste eines anderen Auftrags werden sofort beseitigt

USB abgezogen · NAS weg

Verschwindet ein Gerät, gilt das nicht als Fehler — der Auftrag geht in Warten auf Verbindung Kommt es zurück, geht es an der Abbruchstelle weiter.

WinError 21 · 53 · 59 · 64 · 1167

Nur die fehlgeschlagenen Dateien, noch einmal

Vorübergehende Störungen — etwa eine von einem anderen Programm gesperrte Datei — werden nach 0,5 s, dann 2 s, dann 5 s automatisch wiederholt. Was weiterhin scheitert, landet in einer Liste, und die Schaltfläche Wiederholen führt nur diese erneut aus — die Ordnerstruktur bleibt, wie sie war.

Wenn niemand zusieht

Einmal einrichten, dann läuft es allein

Wenn Sie jedes Mal dasselbe klicken, ist das Arbeit für ein Programm.

Überwachter Ordner

Kommen Dateien an und wird es ruhig, startet der gespeicherte Auftrag. Eine Datei, die noch geschrieben wird, bleibt unangetastet — es wartet, bis sich nichts mehr ändert.

smartcopy-cli watch "Lieferung" --folder D:\Kartenkopie

Aufgabenplanung

Täglich um 3 Uhr oder bei der Anmeldung. Ohne Administratorrechte einrichtbar und in der Windows-Aufgabenplanung selbst löschbar.

smartcopy-cli schedule --install "Wochensicherung" --when daily --at 03:00

Rechtsklick im Explorer

Rechtsklick auf einen Ordner zeigt Ihre gespeicherten Aufträge. Eine Auswahl füllt das Fenster mit diesen Einstellungen — Start drücken Sie.

Nachweise bürgen füreinander

Ein einzelner Nachweis ist schnell weggeworfen. Deshalb trägt jeder den Hash des vorherigen — nehmen Sie einen heraus, bricht die Kette.

smartcopy-cli ledger --verify

Das ist keine Zeitstempelstelle. Verhindert wird, zehnmal zu liefern und nur die neun genehmen zu zeigen.

Auch bei 100.000 Dateien

Die Warteschlange bestimmt die Reihenfolge

Was es handhabtWie
BlockgrößeNach Medium gewählt — 4 MB für feste Platten, 1 MB für USB, 256 KB fürs Netz. Pause und Abbruch greifen an Blockgrenzen, deshalb wird nicht blind vergrößert.
Gleichzeitige AufträgeStandardmäßig zwei, denn mehrere Aufträge auf derselben Platte machen alles langsamer.
PrioritätJeder Auftrag hat eine Priorität, höhere kommen zuerst. Bei Gleichstand zählt die Reihenfolge des Einfügens.
Massenhafte Auflistungscandir durchläuft den Baum, folgt aber weder symbolischen Links noch Junctions — so entsteht nie eine Kopierschleife.
Lange Pfade · UnicodeMit dem Pfadpräfix behandelt, das die 260-Zeichen-Grenze umgeht. Unicode-Namen bleiben unverändert.
FortschrittsanzeigeAuf einmal je 0,2 s gebündelt — damit bei 100.000 Dateien das Zeichnen nie teurer wird als das Kopieren.
Dateien gleichzeitigInnerhalb eines Auftrags werden mehrere Dateien gleichzeitig kopiert (bis 16). Am meisten bringt das bei vielen kleinen Dateien oder über ein NAS.
TempolimitEine Obergrenze in Bytes pro Sekunde. Für den Fall, dass eine Sicherung läuft, während Sie in einer Besprechung sitzen. Die Worker teilen sich einen Eimer.
FilternEinschluss- und Ausschlussmuster, ganze Ordner ausschließen, Größen- und Datumsbereiche sowie versteckte Dateien auslassen.
VorschauErmittelt, was bewegt würde, ohne irgendetwas zu schreiben.
Prüfungen vor dem StartFreier Platz am Ziel, ob das Ziel innerhalb der Quelle liegt, ob es ein geschützter Pfad ist und ob die Quellen existieren — alles wird vorher geprüft.

Es ist langsamer als robocopy. Weil es für jede Datei Wiederaufnahme-Daten festhält, das Kopierte prüft und ins Journal schreibt — diese drei sind der Daseinsgrund dieses Programms. Auf einer internen SSD etwa 5- bis 15-mal langsamer bei vielen kleinen Dateien und rund 7-mal bei einer großen. Messwerte und Methode liegen im Repository.

Alle Aufträge an einem Ort

Admin-Konsole

Das Fenster zeigt, was gerade läuft; die Konsole das Ganze: Warteschlange, Verlauf, Wiederherstellung, Logs, Integrität. smartcopy-cli admin oder über die Schaltfläche Admin-Konsole im Fenster wird sie geöffnet.

Was zu sehen ist

  • Fortschrittsbanner — Gesamtfortschritt, Tempo und Restzeit über alle Aufträge
  • Auftragskarten — Statuschip, Fortschritt, fertig / identisch / übersprungen / fehlgeschlagen
  • Auftragsdetails — Fehlerliste mit Gründen, Warnungen, Durchschnittstempo
  • Wiederherstellung — einen unterbrochenen Auftrag fortsetzen oder verwerfen
  • Integritätsprüfung — das Ziel mit dem Manifest abgleichen

Was Sie tun können

  • Neuer Auftrag — Pfadauswahl, Filter, Leistungsoptionen
  • Vorabprüfung — geschützte Pfade und freier Platz werden vorher gemeldet
  • Pausieren / fortsetzen / abbrechen / Fehler wiederholen (einzeln oder alle)
  • Einstellen, wie viele Aufträge gleichzeitig laufen

Die Konsole öffnet nur auf 127.0.0.1 und verlangt ein bei jedem Start neu erzeugtes Token. Eine fremde Domain, die auf diese Adresse zeigt (DNS-Rebinding), wird durch die Host -Prüfung gestoppt, und eine Anfrage, die eine andere Website Ihren Browser senden lässt, durch die Origin -Prüfung.

Ohne Fenster

Derselbe Motor auf der Kommandozeile

Für Batchdateien und die Aufgabenplanung nehmen Sie smartcopy-cli.exe.

# Ordner kopieren + mit SHA-256 prüfen > smartcopy-cli copy "D:\Fotos 2024" E:\Sicherung --verify hash [running] [################----] 83.3% 14.2 GB/22.8 GB 186 MB/s ETA 00:47 # verschieben — umbenennen, wenn der Name belegt ist > smartcopy-cli move C:\Archiv E:\Lager --conflict rename # unterbrochene Aufträge ansehen und fortsetzen > smartcopy-cli recover > smartcopy-cli recover --resume # eine früher erstellte Kopie abgleichen > smartcopy-cli verify D:\Quelle E:\Sicherung\Quelle --level hash # Explorer-Menü registrieren (aktueller Benutzer, ohne Adminrechte) > smartcopy-cli shell --install
Herunterladen

Keines von beiden muss installiert werden

Einstellungen und Protokolle liegen unter %LOCALAPPDATA%\SmartCopy geschrieben, sonst nirgends.

Fenster-Oberfläche

SmartCopy.exe

Per Drag and Drop laden und den Fortschritt auf Auftragskarten verfolgen. Auch das Explorer-Kontextmenü ruft diese Datei auf.

13.6 MB · SHA-256 2e1f9b91034f8cea14cf6d2236741b7a165b25ebaf364e1b9a7d203578892197

Herunterladen

Kommandozeile

smartcopy-cli.exe

copy · move · recover · verify · shell. Gut für Skripte und Aufgabenplaner.

13.6 MB · SHA-256 d3f8f003b8d1f2b22faf621b5b1531c73a6e456315124e609be43b9e55d53c96

Herunterladen

Explorer-Kontextmenü-Integration

Rechtsklick auf eine Datei oder einen Ordner für Zu SmartCopy hinzufügen, und im Zielordner Als SmartCopy-Ziel festlegen. In mehreren Durchgängen laden — alles sammelt sich in einem Fenster.

Nur unter HKEY_CURRENT_USER registriert — ein shell --uninstall macht es rückgängig

Was Sie brauchen

  • Windows 10 / 11 (64 Bit)
  • Keine Administratorrechte nötig
  • Arbeitet mit SMB · NAS · USB · Wechseldatenträgern
  • Python 3.9 oder neuer, um aus dem Quelltext zu starten (nur Standardbibliothek)