PowerShell verwendet xcopy, robocopy oder copy-item [geschlossen]

8

Der Grund für den Wechsel von Batch-Dateien zu Powershell-Skripten besteht darin, die Fehlerprüfung des Prozesses zu verbessern. Hat das Cmdlet zum Kopieren diesbezüglich Vorteile?

Wenn bereits eine Stapeldatei existiert, die xcopy verwendet, um Dateien einzeln nach Dateiname zu kopieren, gibt es einen Vorteil, die Syntax in copy-item umzuwandeln?

Was sind die Vorteile von robocopy, xcopy und copy-item (im Vergleich zueinander)? Zum Beispiel hat robocopy einen Vorteil, wenn Sie mit einer großen Anzahl von kleinen Dateien über ein zuverlässiges Netzwerk arbeiten. Wenn dieses Skript gleichzeitig auf hunderten von Computern ausgeführt werden soll, um Hunderte von Dateien auf jeden von ihnen zu kopieren, beeinflusst dies die Entscheidung? Sollte sich die Entscheidung hauptsächlich auf die Berechtigungen der Dateien konzentrieren?

    
Adam 05.12.2014, 21:10
quelle

1 Antwort

6

Der Hauptvorteil besteht lediglich darin, dass Sie Objekte über eine Pipe an Copy-Item senden können, anstatt an Strings oder Filespecs. Sie könnten also tun:

%Vor%

Das ist ein schlechtes Beispiel (das könntest du mit Copy-Item -Filter machen), aber es ist einfach, es spontan zu finden. Es ist ziemlich normal, wenn man mit Dateien arbeitet, die zu einer Pipeline von Get-ChildItem führen, und ich persönlich tendiere dazu, dies nur wegen des -Recurse -Include Bugs mit Remove-Item zu tun.

Sie erhalten auch die Fehlerbereinigung von PowerShell, spezielle Parameter wie -Passthru , -WhatIf , -UseTransaction und alle üblichen Parameter. Copy-Item -Recurse kann einige der Kopierfunktionen von xcopy replizieren, aber es ist ziemlich einfach.

Nun, wenn Sie ACLs, Besitzrechte, Auditing und ähnliches pflegen müssen, dann werden xcopy oder robocopy wahrscheinlich viel einfacher sein, da diese Funktionalität eingebaut ist. Ich bin mir nicht sicher, wie Copy-Item behandelt das Kopieren von verschlüsselten Dateien an unverschlüsselte Speicherorte (xcopy hat dazu einige Möglichkeiten), und ich glaube nicht, dass Copy-Item die direkte Verwaltung des Archivattributs unterstützt.

Wenn es die Geschwindigkeit ist, die Sie suchen, dann würde ich vermuten, dass xcopy und robocopy gewinnen würden. Verwalteter Code hat im Allgemeinen einen höheren Overhead. Xcopy und Robocopy bieten auch viel mehr Kontrolle darüber, wie gut sie mit dem Netzwerk arbeiten.

    
Bacon Bits 05.12.2014, 21:54
quelle

Tags und Links