我具有以下文件夹结构:
Folder1
-Folder2
-File1
-File2
-File3
我已尝试以下批处理脚本将所有内容复制到 Folder1
echo d | xcopy "Folder1\*.*" "DestinationFolder"/f /s /y /r
但是我只需要复制 File1,File2,File3 。需要忽略 Folder2 。我对如何实现这一目标一无所知。请帮我解决这个问题。
答案 0 :(得分:0)
如果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.
答案 1 :(得分:0)
无需使用xcopy
复制正义文件! xcpoy
通常用于 复制目录树。
因此,请改用copy
。您可以这样做:
copy "Folder1\*.*" "Destination\"
可能您可能需要使用/(-)Y
选项:
/Y
禁止提示您确认要覆盖现有目标文件。
/-Y
提示您确认要覆盖现有的目标文件。
来自copy /?
(copy
帮助页面)