Frage

Gibt es eine einfache Möglichkeit, alle Dateien zu überprüfen, wurden korrekt kopiert, wenn Kopie-Element aufrufen? Ich dachte über die Prüfsumme für alle Dateien, aber ich könnte mir vorstellen, Powershell (v2) wäre schon etwas, und ich kann es nicht finden.

War es hilfreich?

Lösung

Nein, es ist nicht und hier ist der Grund. Copy-Item ist ein generisches Cmdlets, die für alle Namespace-Anbieter arbeitet. So ist die Elemente Dateien könnten kopiert werden, oder Registrierungseinstellungen oder IIS Konfigurationsabschnitte usw. Überprüfen einer Dateikopie ist schon etwas anders als eine Kopie der Registry-Einstellungen zu überprüfen.

UPDATE: Wie von @Dave_S der Verifikationsschalter des XCOPY Befehl ist nicht die Art der Überprüfung der Sie suchen.

Wenn Sie Textdateien kopieren Sie die Powershell Compare-Object Commandlet nutzen könnten.

Wenn Sie Binär-Dateien kopieren Sie das System fc.exe Befehl mit / b Schalter verwenden könnte.

Andere Tipps

Ich weiß, es ist ein alter Thread, aber ich dachte, dass ich diese nur für den Fall schreiben würde sonst jemand es liest ... den Schalter / v NICHT überprüfen Sie die Daten! Es macht einfach sicher, dass die Kopie lesbar ist. Siehe http://support.microsoft.com/kb/126457 .

Meine aktuelle Liebling Lösung ist xcopy in Kombination mit einer hashdeep Prüfung. Kann zusammen in einer kleinen BAT-Datei gepackt werden.

Nur ein Update, Powershell v4 Get-FileHash enthält, die verwendet werden können, um eine Datei zu überprüfen, wurde erfolgreich kopiert. Wenn der Hash gleich ist, wird die Datei erfolgreich kopiert wurde. Link zu TechNet-Bibliothek .

Ich verwende diese Antwort mit dem kommen folgen.

(Get-ChildItem -file -path c:\files -Recurse).FullName | foreach {get-filehash $_ -Algorithm md5} kann auch in Export-CSV geleitet werden, um den Datei-Hashes zu leicht visuell vergleichen.

scroll top