[Batch] Alle Dateien eines Typs in einen Ordner kopieren

HanZ

Aktiver NGBler
Registriert
16 Juli 2013
Beiträge
997
Hallo,

habe einen Download-Ordner, wo öfters Dateien drin landen, aber oft in vielen Unterordnern. Nun möchte ich alle Dateien eines Typs (mal .mkv angenommen) aus diesen Ordnern in / verschieben, oder einen Ordner (/mkv).

Mit folgendem Befehl:
Code:
Expand Collapse Copy
for /r W:\ %x in (*.mkv) do copy %x W:\mkv

Bekomme ich folgende Meldung:
Code:
Expand Collapse Copy
W:\>copy W:\ORDNER\DATEINAME.mkv W:\mkv
Das System kann die angegebene Datei nicht finden.

Wo liegt der Fehler?

lg
HanZ

P.S.: Fehlt Batch schlichtweg in der Codeauswahl-Tabelle hier beim Beitrag erstellen oder hat das dort einfach einen anderen namen?
 
Nur mal als blöde Idee - sind da vielleicht Leerzeichen im Pfad oder Namen? In dem Fall musst du wahrscheinlich noch Anführungszeichen um %x machen.
 
  • Thread Starter Thread Starter
  • #3
Jou klappt. Hatte es schonmal mit Anführungszeichen probiert, jedoch beim Ersten %x auch dazugepackt. Dabei hat er gemeckert. Danke!

--- [2016-11-27 23:06 CET] Automatisch zusammengeführter Beitrag ---

Hm, ich muss den Beitrag nochmal hochholen:

Mit
Code:
Expand Collapse Copy
for /r W:\ %x in (*.mkv) do move "%x" W:\mkv
wird mir irgendwie nur eine Datei (die im obersten/alphabetisch ersten Ordner). Warum?

Hat sich erledigt.
 
Zuletzt bearbeitet:
Das ganze in Powershell:

Zielverzeichnis erstellen:
[src=powershell]New-Item -Path "D:\temp" -ItemType Directory[/src]

Befehl zum kopieren:
[src=powershell]Get-ChildItem "c:\temp" -Recurse -Filter "*.mkv" | Copy-Item -Destination "d:\Temp\"[/src]

Wenn du die ganze Quellstruktur mit kopieren willst und nicht alles in einen Zielordner ohne unterordner:
[src=powershell]Copy-Item -Path "c:\Temp" -Destination "D:\Temp\" -Filter "*.mkv" -Recurse[/src]
 
Zuletzt bearbeitet:
Zurück
Oben