如何批量复制文件夹中没有其他文件夹的文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何批量复制文件夹中没有其他文件夹的文件?相关的知识,希望对你有一定的参考价值。

我有以下文件夹结构:

Folder1
  -Folder2
  -File1
  -File2
  -File3

我在批处理脚本中尝试了以下内容来复制Folder1中的所有内容

echo d | xcopy "Folder1*.*" "DestinationFolder"/f /s /y /r

但我只需要复制File1,File2,File3。需要忽略Folder2。我对如何实现这一目标一无所知。请帮我解决这个问题。

答案

如果Folder2为空,/S会这样做, 但由于你的命令中有/s,所以我猜它不是空的。

所以使用这个:

echo Folder2>__tmp4Exclude__
echo d | xcopy "Folder1*.*" "DestinationFolder" /f /s /y /r /EXCLUDE:__tmp4Exclude__
del __tmp4Exclude__

__tmp4Exclude__是一个临时文件,用于包含复制时要排除的文件列表。

来自xcopy /?

  /EXCLUDE:file1[+file2][+file3]...
               Specifies a list of files containing strings.  Each string
               should be in a separate line in the files.  When any of the
               strings match any part of the absolute path of the file to be
               copied, that file will be excluded from being copied.  For
               example, specifying a string like obj or .obj will exclude
               all files underneath the directory obj or all files with the
               .obj extension respectively.
另一答案

没有必要使用xcopy来复制文件! xcpoy通常用于复制目录树。

所以,改用copy。你可以做:

copy "Folder1*.*" "Destination"

可能你可能需要使用/(-)Y选项:

/Y禁止提示您确认是否要覆盖现有目标文件。 /-Y导致提示您确认要覆盖现有目标文件。

来自copy /?copy帮助页面)

以上是关于如何批量复制文件夹中没有其他文件夹的文件?的主要内容,如果未能解决你的问题,请参考以下文章

玩点不一样的,如何使用MATLAB实现批量修改文件后缀名,文件名,批量复制文件

win10系统文件夹中如何批量提取文件名称

如何使用bat批量按文件夹名称筛选文件夹并复制到指定地方?

从子文件夹中的文件列表批量复制文件

如何在CMD下把指定文件复制到指定文件夹内?

bat怎么批量以文件夹名字命名文件夹中第一个文件?