如何使用dir和一起复制来搜索目录并复制到文件夹?


10

我需要在指定的文件夹及其子目录中搜索文件,然后将其复制到其他位置的指定文件夹中。可以dircopy管道一起使用吗?

dir /s foo???.txt | copy g:\someplace

上面的方法不起作用。管道的左侧找到了我想要的内容,但是无法获取它来复制找到的文件。我正在使用Windows 7命令提示符。


出于好奇,您需要哪种文件?通配符还不够吗?
戴夫

我需要在命令中使用通配符(???-“?”是一位数字通配符),以便上述内容将捕获foo_42,foo_01等,并且它们将位于各个子文件夹中。
Flotsam N. Jetsam

Answers:


10

您可以使用xcopy

xcopy /s foo???.txt g:\someplace

这将保留目录结构。

如果您不希望目录结构,可以执行以下操作:

for /r %i in (foo???.txt) do xcopy /Y "%i" g:\someplace

如果您在批处理文件中使用此文件,则应将以下内容加倍%

for /r %%i in (foo???.txt) do xcopy /Y "%%i" g:\someplace

实际上,我需要花些时间。是否可以在不保留目录结构的情况下完成?
Flotsam N. Jetsam

哈哈,这就是我所害怕的:)(这就是为什么我特别声明)。但是,您将如何处理重复的文件名?它不能通过xcopy本身来完成,但是您可以通过管道将其复制到robocopy来完成(或者可能只是复制,但是在批处理文件中)。您有什么版本的Windows?
瑞克

Windows7。我的应用程序不会重复。
Flotsam N. Jetsam

添加了复制到一个目录的方法。幸运的是,不需要robocopy。只需使用for /r
里克-

1
你摇滚 希望我能再次支持你。谢谢!
Flotsam N. Jetsam
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.