heinz.rudolf

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.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 430317

Url: https://administrator.de/forum/verschieben-von-dateien-unter-windows-430317.html

Ausgedruckt am: 21.05.2025 um 11:05 Uhr

emeriks
Lösung emeriks 20.03.2019 aktualisiert um 11:22:01 Uhr
Goto Top
Hi,
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.

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
oder wenn irgendwo als "Ausführen" dann über die CMD
cmd /c move Quelle Ziel

E.
138810
138810 20.03.2019 aktualisiert um 11:34:15 Uhr
Goto Top
Wenn ich dasselbe über ein Skript (z.B. Robocopy
Deswegen heißt das ja Robocopy und nicht Robomove. face-wink

Wie Emeriks schon schreibt reich zum reinen Verschieben ja move vollkommen aus.
heinz.rudolf
heinz.rudolf 20.03.2019 um 12:02:46 Uhr
Goto Top
Hallo,

vielen Dank für die Antworten. Letztlich musste die Lösung ja so einfach sein face-smile

Nun hat mov recht wenig Optionen und ich kann Dateien nicht nach Datum, Namen oder Größe selektieren.
Kennt ihr ggf. ein Tool das die Möglichkeiten bietet?

Danke
138810
Lösung 138810 20.03.2019 aktualisiert um 12:09:42 Uhr
Goto Top
Powershell natürlich.
https://ss64.com/ps/move-item.html
heinz.rudolf
heinz.rudolf 20.03.2019 um 12:28:58 Uhr
Goto Top
danke - darauf bin ich eben auch gekommen.
Der Link hilft auch sicher weiter.

Gibts evt. noch was grafisches, vielleicht mit Menüführung?
138810
138810 20.03.2019 um 12:42:15 Uhr
Goto Top
Zitat von @heinz.rudolf:
Gibts evt. noch was grafisches, vielleicht mit Menüführung?
Wozu? Überflüssig...
heinz.rudolf
heinz.rudolf 20.03.2019 um 13:01:06 Uhr
Goto Top
natürlich Überflüssig, wenn alles mit dem move-item durchgeführt werden kann...
...und wenn alle beteiligten sicher im Umgang mit der Kommandozeile sind.

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\


ist für mich jetzt nicht so ohne weiteres machbar
138810
Lösung 138810 20.03.2019 aktualisiert um 13:27:42 Uhr
Goto Top
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 ...
gci 'w:\a\datei*' -File | ?{$_.CreationTime -ge (get-date).AddDays(-1).Date -and $_.Length -gt 1GB} | move-Item -Destination 'w:\b\' -verbose -Force  
heinz.rudolf
heinz.rudolf 20.03.2019 um 13:55:53 Uhr
Goto Top
das nenne ich kompetente Unterstützung - herzlichen Dank.

Ich möchte die Hilfsbereitschaft jetzt nicht überstrapazieren, aber wenn du vielleicht das ganze noch alternativ um Dateien CreationTime nicht älter als 14 Stunden (anstatt Änderung heute oder gestern) und eine Logdatei ergänzen könntest (bei Robocopy gehts mit /log:w:\log.txt /tee)?

Nur wenn es nicht zuviel Aufwand ist.
138810
Lösung 138810 20.03.2019 aktualisiert um 14:03:52 Uhr
Goto Top
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
heinz.rudolf
heinz.rudolf 20.03.2019 um 14:22:47 Uhr
Goto Top
Vielen Dank!

damit ist alles geklärt.