it-swarm.com.de

Wie kann ich rekursiv Dateien eines bestimmten Musters in einen einzelnen flachen Ordner unter Windows kopieren?

Ich muss eine Reihe von DLL und PDB-Dateien aus einer Reihe von Ordnern rekursiv in einen anderen Ordner kopieren. Ich möchte die Ordnerhierarchie im Zielordner nicht neu erstellen. Ich möchte built verwenden in Windows-Tools, zB DOS-Befehlen.

61
mickdelaney
mkdir targetDir
for /r %x in (*.dll, *pdb) do copy "%x" targetDir\

Verwenden Sie/Y am Ende des obigen Befehls, wenn Sie mehrere Dateien kopieren und nicht mehr mit "Ja" antworten möchten.

109

Befehl XCOPY

beispiel für das rekursive Kopieren eines Ordners:

mkdir DestFolder
xcopy SrcFolder DestFolder /E

(Wie im Kommentar nach [~ # ~] wiki [~ # ~] angegeben dieser Befehl wurde seit DOS 3.2 zur Verfügung gestellt)

36
Bronek

Stellen Sie sicher, dass Sie die Anführungszeichen richtig haben, wenn Sie Leerzeichen in Ihrem Pfad haben.

Dies ist mein Postbuild-Ereignis für meinen TFS-Build-Server (daher gibt es "%%"). Ich brauchte alle Testdateien, um sie zu kopieren.

if not exist  "$(TargetDir)..\SingleFolderOutput" mkdir -p "$(TargetDir)..\SingleFolderOutput"

for /r **%%x** in (*.dll, *.pdb, *.xml, *.xaml, *.exe, *.exe.config) do xcopy **"%%x"** "$(TargetDir)..\SingleFolderOutput" /Y
0
SteckDEV