我正在尝试运行xcopy来复制不包括.obj等的文件。我看到的是,当我的excludes.txt文件包含.obj作为扩展名时,Microsoft.Practices.ObjectBuilder.dll不会被复制。删除.obj时,将正确复制I Microsoft.Practices.ObjectBuilder.dll。然而,这不会发生在其他dlls上。
有人知道为什么会发生这种情况吗?
谢谢!
Lenik
发布于 2008-10-13 16:21:21
我猜是因为在名称Microsoft.Practices**.Obj**ectBuilder.dll中找到了子字符串.obj,而且windows不区分大小写,所以会将其排除在外。
发布于 2008-10-13 17:02:11
是啊,xcopy就是这么傻。
执行以下操作:
dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir尽管这有时还是会有问题。
例如,如果您有一个名为practices.obj,的文件,它不会复制该文件,但它也无法复制您的Microsoft.Practices.ObjectBuilder.dll
一个方便的技巧是,如果您在目录上指定/s,您将获得递归和完整路径,然后如果您在xcopy上完全指定源目录,则排除项必须从头开始匹配:
dir /s /b *.obj >excludes.txt
xcopy c:\sourcedir\* /exclude:excludes.txt \targetdir现在,只有在同一目录中恰好有一个Microsoft.Practices.obj文件时,Microsoft.Practices.ObjectBuilder.dll才会无法复制。明白了吗?
发布于 2008-10-13 17:23:50
不管怎样,XCOPY现在是deprecated了,所以我怀疑事情会不会得到修复。看看ROBOCOPY -它内置于Vista中,并包含在2003 and XP的资源工具包中。
https://stackoverflow.com/questions/198155
复制相似问题