Verschieben von Dateien unter Windows
Guten Tag,
ich habe eine Frage, zu der ich trotz Recherchen noch keine Antwort gefunden habe.
Daher erhoffe ich mir Antworten in diesem Forum.
Meine Versuche liefen unter Server 2012R2 – lokal und auf einem Netzlaufwerk (verbunden von einer Qnap)
Wenn ich über den Windows Explorer große Dateien von Ordner A nach Ordner B verschiebe geht das in Echtzeit.
Beide Ordner befinden sich auf dem gleichen Netzlaufwerk oder/und auf der gleichen Partition.
Wenn ich dasselbe über ein Skript (z.B. Robocopy /move oder über SyncBackPro) versuche, wird zunächst kopiert und anschließend gelöscht.
(Beispiel: robocopy w:\a\ w:\b\ /mov)
Beim Verschieben von großen oder vielen Dateien ist das dann per Skript sehr zeitaufwändig.
Was ist beim Verschieben mit dem Explorer anders als wenn ich es mit einem Skript mache, fehlt mir ggf. der richtige Parameter beim Aufruf?
vielen Dank vorab für die Hilfe.
ich habe eine Frage, zu der ich trotz Recherchen noch keine Antwort gefunden habe.
Daher erhoffe ich mir Antworten in diesem Forum.
Meine Versuche liefen unter Server 2012R2 – lokal und auf einem Netzlaufwerk (verbunden von einer Qnap)
Wenn ich über den Windows Explorer große Dateien von Ordner A nach Ordner B verschiebe geht das in Echtzeit.
Beide Ordner befinden sich auf dem gleichen Netzlaufwerk oder/und auf der gleichen Partition.
Wenn ich dasselbe über ein Skript (z.B. Robocopy /move oder über SyncBackPro) versuche, wird zunächst kopiert und anschließend gelöscht.
(Beispiel: robocopy w:\a\ w:\b\ /mov)
Beim Verschieben von großen oder vielen Dateien ist das dann per Skript sehr zeitaufwändig.
Was ist beim Verschieben mit dem Explorer anders als wenn ich es mit einem Skript mache, fehlt mir ggf. der richtige Parameter beim Aufruf?
vielen Dank vorab für die Hilfe.
Please also mark the comments that contributed to the solution of the article
Content-Key: 430317
Url: https://administrator.de/contentid/430317
Printed on: April 25, 2024 at 16:04 o'clock
11 Comments
Latest comment
Hi,
ein Blick in die Syntax von Robocopy sagt uns:
Der Explorer oder der "echte" Move-Befehl hingegen verhalten sich so:
Nimm also das move Kommando statt Robocopy.
Entweder in der Batch
oder wenn irgendwo als "Ausführen" dann über die CMD
E.
ein Blick in die Syntax von Robocopy sagt uns:
/MOVE :: Verschiebt Dateien UND Verzeichnisse
(löscht sie nach dem Kopieren an der Quelle).
Robocopy führt ein Verschieben also immer als "Kopie + Löschen" aus.(löscht sie nach dem Kopieren an der Quelle).
Der Explorer oder der "echte" Move-Befehl hingegen verhalten sich so:
- Ziel auf dem selben Laufwerk? --> Verschieben
- Ziel auf anderem Laufwerk? --> Kopieren + Löschen
Nimm also das move Kommando statt Robocopy.
Entweder in der Batch
move Quelle Ziel
cmd /c move Quelle Ziel
E.
Wenn ich dasselbe über ein Skript (z.B. Robocopy
Deswegen heißt das ja Robocopy und nicht Robomove. Wie Emeriks schon schreibt reich zum reinen Verschieben ja move vollkommen aus.
Powershell natürlich.
https://ss64.com/ps/move-item.html
https://ss64.com/ps/move-item.html
Wozu? Überflüssig...
Zitat von @heinz.rudolf:
meine Vorstellung wäre das Abdecken folgender Aufgabe.
verschiebe mir die datei w:\a\datei*.* mit Erstelldatum (nicht Änderungsdatum) heute oder gestern, größer als 1 GB nach w:\b\
Kein Thema ...meine Vorstellung wäre das Abdecken folgender Aufgabe.
verschiebe mir die datei w:\a\datei*.* mit Erstelldatum (nicht Änderungsdatum) heute oder gestern, größer als 1 GB nach w:\b\
gci 'w:\a\datei*' -File | ?{$_.CreationTime -ge (get-date).AddDays(-1).Date -and $_.Length -gt 1GB} | move-Item -Destination 'w:\b\' -verbose -Force
Start-Transcript 'w:\log.txt' -Append
gci 'w:\a\datei*' -File | ?{$_.CreationTime -gt (get-date).AddHours(-14)} | move-Item -Destination 'w:\b\' -verbose
Stop-Transcript