Wie kann ich alle Dateien mit einer bestimmten Erweiterung in ein einziges Verzeichnis kopieren (ohne die Verzeichnisstruktur)?

Wie kann ich alle Dateien mit einer bestimmten Erweiterung in ein einziges Verzeichnis kopieren (ohne die Verzeichnisstruktur)?

Ich habe versucht, alle Dateien in den verschiedenen Unterverzeichnissen, die die JPGErweiterung haben, C:in ein einzelnes Verzeichnis auf zu kopieren D:. Ich möchte die Verzeichnisstruktur nicht beibehalten.

So weit bin ich gekommen:

for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures

Danach werde ich gefragt, ob ich überschreiben möchte D:\pictures. Wenn ich mit antworte yes, bleibt mir nur eine Datei, und wenn ich mit Nein antworte, werden keine Dateien kopiert.

Ich habe auch versucht, es /yam Ende des Befehls hinzuzufügen, aber dadurch werden einfach die vorhergehenden Dateien überschrieben und nur die letzte bleibt übrig.

Antwort1

Das sollte funktionieren:

for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures\

Erläuterung:

Der Befehl copy "%f" D:\pictureskopiert die Datei %fan den Speicherort D:\pictures, d. h. die Datei picturesim Verzeichnis D:\.

Durch Hinzufügen eines Nachspanns \wird sichergestellt, dass es sich um ein Verzeichnis copyhandelt pictures.

Wenn Sie mehrere Dateien an einen einzigen Ort kopieren (z. B. copy *.* D:\backup), copywird automatisch backupals Verzeichnis behandelt. Dies ist jedoch nicht der Fall, wenn Sie eine einzelne Datei kopieren.

Antwort2

für /R c:\ %%1 in ("*.txt") mache @xcopy "%%1" d:\txttemp%%~p1 /e/i/s/q/h

Dieser Code kopiert ohne zu überschreiben und erstellt Ordner und Unterordner

verwandte Informationen