xcopy / исключить проблему - PullRequest
       10

xcopy / исключить проблему

2 голосов
/ 13 октября 2008

Я пытаюсь запустить xcopy, которая копирует файлы, исключая .obj и т. Д. Я вижу, что Microsoft.Practices.ObjectBuilder.dll не копируется, когда мой файл exclude.txt содержит расширение .obj. Когда .obj удаляется, я Microsoft.Practices.ObjectBuilder.dll копируется правильно. Это не происходит с другими библиотеками.

Кто-нибудь знает, почему это произойдет?

Спасибо!

Lenik

Ответы [ 4 ]

6 голосов
/ 13 октября 2008

Да, xcopy туп, как это.

Сделайте это:

dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir

хотя иногда это все еще будет иметь проблему.

Например, если у вас есть файл с именем practice.ob j, он не скопирует его, но также не сможет скопировать ваш Microsoft. Practices.Obj ectBuilder .dll

Удобный трюк: если вы укажете / s в dir, вы получите рекурсию и полный путь, тогда, если вы полностью укажете исходный каталог в xcopy, исключения должны совпадать с самого начала :

dir /s /b *.obj >excludes.txt
xcopy c:\sourcedir\* /exclude:excludes.txt \targetdir

Теперь Microsoft.Practices.ObjectBuilder.dll не удастся скопировать, только если у вас есть файл Microsoft.Practices.obj в том же каталоге. Получите это?

4 голосов
/ 13 октября 2008

Я полагаю, потому что подстрока .obj находится в имени Microsoft.Practices **. Obj ** ectBuilder.dll, а поскольку в Windows не учитывается регистр, она исключит ее.

3 голосов
/ 13 октября 2008

XCOPY устарела сейчас так или иначе, поэтому я сомневаюсь, что все будет исправлено. Взгляните на ROBOCOPY - она ​​встроена в Vista и входит в комплект ресурсов для 2003 и XP .

0 голосов
/ 13 октября 2008

Ответ можно получить, набрав:

xcopy /?

А именно:

/ ИСКЛЮЧИТЬ: file1 [+ file2] [+ file3] ...
Определяет список файлов, содержащих строки. Каждая строка должно быть в отдельной строке в файлах. Когда любой из строки соответствуют любой части абсолютного пути к файлу скопирован, этот файл будет исключен из копирования. За Например, указание строки типа \ obj \ или .obj исключит все файлы в каталоге obj или все файлы с расширение .obj соответственно.

...