
Ich muss einen bestimmten Ordner und seine Unterverzeichnisse nach Dateien durchsuchen und sie dann in einen bestimmten Ordner an einem anderen Ort kopieren. Ist es möglich, dir
und copy
mit einer Pipe zu verwenden?
dir /s foo???.txt | copy g:\someplace
Das oben genannte funktioniert nicht. Die linke Seite der Pipe findet, was ich will, aber ich kann sie nicht dazu bringen, die gefundenen Dateien zu kopieren. Ich verwende die Eingabeaufforderung von Windows 7.
Antwort1
Sie können einfach Folgendes verwenden xcopy
:
xcopy /s foo???.txt g:\someplace
Dadurch bleibt die Verzeichnisstruktur erhalten.
Wenn Sie die Verzeichnisstruktur nicht möchten, können Sie Folgendes tun:
for /r %i in (foo???.txt) do xcopy /Y "%i" g:\someplace
Wenn Sie dies in einer Batchdatei verwenden, sollten Sie es %
wie folgt verdoppeln:
for /r %%i in (foo???.txt) do xcopy /Y "%%i" g:\someplace
Antwort2
mit Powershell können Sie Folgendes ausführen:
cmd.exe /c dir *.txt /s /b | copy -Destination d:\md
Teil cmd.exe Teil Powershell etwas verständlicher, aber es gibt Überschneidungen