Kopieren Sie eine Datei aus mehreren Ordnern


0

Ich möchte xcopyauf einem Windows-Computer verwenden, um alle Dateien mit der .docErweiterung in ein einziges Verzeichnis zu ziehen.

Ein Beispiel:

Ich muss die .docDatei aus der folgenden Quelle kopieren :

D:\new folder\new1\new1-1\new\y.doc  
D:\new folder\new2\new2-1\new\y.doc  
D:\new folder\new3\new3-1\new\y.doc  
D:\new folder\new4\new4-1\new\y.doc  
D:\new folder\new5\new5-1\new\y.doc  
:  
:  
:   

Und fügen Sie sie D:\test\wie folgt ein:

y1.doc  
y2.doc  
y3.doc  
y4.doc  
y5.doc  
:  
:  
:   

und vermeiden Sie das Ersetzen der .docDateien.

Antworten:



0
@echo off & setlocal

for /s "D:\new folder" %%f in (*.doc) do call :nextfile "%%~f"
goto :eof

:nextfile
    set /a num+=1
    set "target=D:\test\%~n1%num%%~x1"
    if exist "%target%" goto :nextfile
    copy "%~1" "%target%"
    goto :eof

2
Sagen Sie nicht "Ich möchte <ein Tool> verwenden ", es sei denn, Sie haben einen bestimmten Grund, dieses Tool zu verwenden, und Sie wissen, dass das Tool das kann, wonach Sie fragen. In diesem Fall können Sie ersetzen copymit xcopy, aber Sie müssen noch das Skript verwenden, und wenn Sie viele Dateien kann es sogar langsamer sein ( xcopyist ein externer Prozess, während copyeingebaut ist).
Grawity

0
for /L %a in (1,1,50) do XCOPY "D:\new folder\new%a\new%a-1\y.doc" D:\test\y%a.doc

Ersetzen Sie "50" durch die Nummer Ihres Endordners.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.