Wenn Sie den Inhalt kopieren, um ihn unmittelbar danach zu verknüpfen, können Sie die Hardlinks nicht gleich sofort generieren. Link Shell-Erweiterung macht diesen Job einfach.
Wenn es einen Grund gibt, warum Sie diese bestimmte Abfolge von Aktionen durchlaufen müssen, hat der Autor von LSE auch ein Befehlszeilentool geschrieben Dupemerge fast genau das zu tun, was Sie fragen.
Dabei ist zu beachten, dass NTFS keine Semantik "Kopieren beim Schreiben" für Hardlinks ausführt. Wenn etwas den Inhalt einer Datei ändert, werden alle Versionen mit festem Link sofort "aktualisiert", da sie alle Verzeichniseinträge mit demselben Datenumfang auf der Festplatte enthalten. Darüber hinaus führen viele Programme eine Prozedur zum Speichern in eine temporäre Datei, zum Löschen des Originals und zum Umbenennen des alten in einen alten Namen durch, anstatt eine Datei zu überschreiben. Dadurch werden andere Hardlinks zu den Daten wirksam, da sie auf den alten Datenumfang verweisen.
& gt; Warum nicht gleich die Hardlinks generieren? weil es sich um zwei Festplatten handelt, eine davon herausnehmbar ist, die andere über einen begrenzten freien Speicherplatz verfügt
est
1
Sie sollten Ihre Frage mit Ihren Einschränkungen und der jeweiligen Reihenfolge der Aktionen, die Sie ausführen möchten, bearbeiten. Sind Sie sicher, dass es genügend doppelte Dateien gibt, um das zu tun, was Sie möchten? Wenn ja, könnten Sie verwenden dupemerge auf der Quelle, dann LSE oder es ist CLI-Begleiter ln So erstellen Sie eine Smart Copy, die die inneren Verbindungen beibehält.
afrazier
du an der Quelle ist eine gute Idee. danke: D
est
1
Sie können dies mit FINDDUPE tun, das Sie finden können Hier . Erwägen src als Quellordner und dest Als Zielordner können Sie Folgendes tun:
xcopy /I /E src dest
finddupe -hardlink -ref src dest
danke, ich kenne finddupe, aber das HDD-Ziel hat begrenzten freien Speicherplatz und Quell-HDD haben viele Dup-Dateien. Wie kann man VOR der Kopie prüfen?
est
Ich glaube nicht, dass Sie Hardlinks zwischen zwei verschiedenen Festplatten erstellen können. Wollen Sie das tun?
qwertzguy
Kopieren Sie Dateien auf eine andere Festplatte, wenn Sie dup verwenden, erstellen Sie einen Hardlink, anstatt Inhalte zu kopieren.
est
1
Ah ok ... jetzt habe ich es verstanden: Du willst doppelte Dateien prüfen, dann nur Nicht-Duplikate kopieren und Hardlinks machen, um den Rest der Dateien wiederherzustellen. Nun können Sie verwenden finddupe -bat find.bat src Dann entfernen Sie in der erstellten Datei find.bat alle del-Zeilen, erstellen Sie eine eindeutige Liste der fest verbundenen Dateien (letzter Parameter von fsutil), kopieren Sie diese Dateien und führen Sie das Skript aus. Natürlich wäre ein Skript dazu am besten, aber ich habe jetzt keine Zeit dafür.
dupemerge
auf der Quelle, dann LSE oder es ist CLI-Begleiterln
So erstellen Sie eine Smart Copy, die die inneren Verbindungen beibehält.Sie können dies mit FINDDUPE tun, das Sie finden können Hier .
Erwägen
src
als Quellordner unddest
Als Zielordner können Sie Folgendes tun:Hinweis: Hardlinks funktionieren nur unter NTFS
quelle
finddupe -bat find.bat src
Dann entfernen Sie in der erstellten Datei find.bat alle del-Zeilen, erstellen Sie eine eindeutige Liste der fest verbundenen Dateien (letzter Parameter von fsutil), kopieren Sie diese Dateien und führen Sie das Skript aus. Natürlich wäre ein Skript dazu am besten, aber ich habe jetzt keine Zeit dafür.