Alle Dateien aus einer Liste von Ordnerspeicherorten kopieren

Alle Dateien aus einer Liste von Ordnerspeicherorten kopieren

Ich habe eine Liste von Ordnern, aus denen ich alle dort enthaltenen Dateien kopieren möchte. Die Liste der Ordner wird in einer separaten Zeile in einer Textdatei (.txt) gespeichert. Alle Dateien sollten an denselben Speicherort kopiert werden.

Wie kann ich diese Übung mithilfe dieser Ordnerliste in Kombination mit einer Kopierfunktion in der Eingabeaufforderung durchführen?

Antwort1

Betrachten wir eine Datei mit ähnlichem Inhalt, die eine Liste von Verzeichnissen enthält, wie etwa:

c:
c:\users 
c:\anyotherfolder

xcopyinnerhalb einer forSchleife wird es funktionieren :)

for /f %a in (list.txt) do xcopy /e %a\* c:\destination_folder\

(durch Kopieren des gesamten Verzeichnisbaums (aufgrund /e) )


%Sie sollten dem Variablennamen etwas hinzufügen, wenn Sie ihn in einer separaten .batDatei speichern und ausführen möchten.

Antwort2

Ich habe den Code von Elvin übernommen und leicht weiterentwickelt, um das Problem der in Ordnerpfaden und -namen enthaltenen Leerzeichen zu lösen.

Der Befehl „For Do“ verwendet jetzt eine CSV-Datei als Quelle für die Ordnerpfade. Daher war es zuvor erforderlich, die "delims=,"Option in den Befehl „For“ aufzunehmen.

for /f "delims=," %a in (D:\Batch_Files\Test_Bench\Folders_List.csv) do copy "%a\*" D:\Batch_Files\Test_Bench\Paste_All_The_Files_Here

Die durch Kommas getrennten Datensätze ermöglichen den For /fZugriff auf die Speicherorte, die Leerzeichen enthalten, jedoch nur, wenn das Token %a\*in „ “ eingeschlossen ist.

verwandte Informationen