我有这样的目录结构:
folder1\ help.txt folder2\ help.txt folder3\ help.txt ...
我想用robocopy复制folder1的内容。 例如:
robocopy folder1 destination /E
我想排除文件夹1中的help.text文件,但将help.txt文件包含在folder2,folder3等文件夹中。在目录结构中的其他地方也可能有文件help.txt,所以我不想编码要包含的文件的path。
我可以使用下面的命令来排除所有名为help.txt的文件,但有没有办法只是排除folder1的根目录下的help.txt文件?
robocopy folder1 destination /E /XF help.txt
您必须将完整path(包括驱动器)包含到要排除的文件中。 相对path不起作用。
这工作:
robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt"
这不:
robocopy folder1 destination /E /XF "folder1\help.txt"
这也不是:
robocopy folder1 destination /E /XF ".\folder1\help.txt"
我没有看到有任何方法通过文件名来做到这一点。 您可以在您不想复制的文件上设置一个属性,而您“知道”的文件不在源代码树中的任何其他文件上,然后使用/ xa排除具有该属性的文件。
否则,你将需要使用另一种工具。
这将工作:
echo folder1\help.txt > \temp\excl.txt xcopy /E folder1 destination /EXCLUDE:\temp\excl.txt
实际上,如果你有一个像这样的目录结构:
folder1\ help.txt folder1\ help.txt
它可能会排除这两个文件。
您可以使用%CD%为您提供当前目录。 这应该可以帮助您排除特定的目录。 更多的帮助在这里: