2012-06-25 149 views
0

我有一个发布我的VS2010应用程序的.bat文件,然后将这些文件复制到我测试的网络服务器上的一个位置,所以我不必手动执行它。我有几个目录我不想每次都复制,因为内容不会改变,而且有很多文件。我的继承人xcopy命令:使用xcopy排除目录

XCOPY C:\Publish\NewPCloser\* \\testserver\c$\NewPCloser /s /i /Y /EXCLUDE:c:\exclude.txt 

继承人我exclude.txt文件:

web.config 
    c:\Working\PaperlessCloser4.0\PaperlessCloser4.0\Content 

它排除在web.config,但它仍然复制内容文件夹和所有300+文件。我如何排除目录并通过xcopy进行复制?谢谢

+1

请使用恰当的标签。你已经恢复了我修改它们的编辑。 MS-DOS是一个很长的过时的16位操作系统,它不能运行Visual Studio 2010,也不支持UNC路径。 –

回答

2

根据this,要排除目录,只需将其添加到排除文件,就像其他任何字符串一样,但它的名称的开头和结尾需要有反斜杠。因此,如果您在复制的目录中有一个名为Content的目录,则应该能够将\ Content \添加到排除文件,并且应该忽略其路径包含该字符串的任何文件。

+0

还要记住在编辑排除文件时使用ANSI编码(或记事本)。文件夹排除不适用于UTF-8编码文件。 – dalenewman

2

因为排除文件中的前导路径与指定为XCOPY源的前导路径不匹配。尝试修复排除文件中的路径以匹配。

您可以将排除行更改为仅读取\Content\,但它会排除其路径中任何位置有\Content\的任何文件。

请注意,XCOPY的/ EXCLUDE:选项会执行子字符串匹配的形式。有时它不够精确,无法获得你想要的结果。您应该考虑使用ROBOCOPY。