如何将具有特定扩展名的所有文件复制到单个目录中(没有目录结构)?

如何将具有特定扩展名的所有文件复制到单个目录中(没有目录结构)?

我一直试图将位于 的各个子目录中具有JPG扩展名的所有文件复制到 上C:的单个目录中D:。我不想保留目录结构。

这是我目前得到的信息:

for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures

此后,系统会询问我是否要覆盖D:\pictures。如果我回答yes,则最终会得到一个文件;如果我回答否,则不会复制任何文件。

我也尝试/y在命令末尾添加,但它只会覆盖前面的文件,只留下最后一个。

答案1

这应该有效:

for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures\

解释:

该命令copy "%f" D:\pictures将文件复制%f到该位置,即目录中的D:\pictures文件。picturesD:\

添加尾随\以确保copy将其pictures视为目录。

如果您将多个文件复制到一个位置(例如copy *.* D:\backup),copy则会自动将其backup视为一个目录。但是当您复制单个文件时情况并非如此。

答案2

对于 /R c:\ %%1 在 ("*.txt") 中,执行 @xcopy "%%1" d:\txttemp%%~p1 /e/i/s/q/h

此代码将复制而不覆盖并将创建文件夹和子文件夹

相关内容