xcopy / исключить проблему
-
10-07-2019 - |
Вопрос
Я пытаюсь запустить xcopy, который копирует файлы, исключая .obj и т.д.Что я вижу, так это то, что Microsoft.Практикует.ObjectBuilder.dll не копируется, когда мой excludes.txt файл содержит .obj в качестве расширения.Когда .obj удаляется, я подтверждаю, что Microsoft.Практикует.ObjectBuilder.dll скопирован правильно.Однако этого не происходит с другими библиотеками dll.
У кого-нибудь есть какие-нибудь идеи, почему это могло произойти?
Спасибо!
Леник
Решение
Я предполагаю, потому что подстрока .obj находится в имени Microsoft.Практика **.Obj **ectBuilder.dll и поскольку Windows не чувствительна к регистру, она исключит ее.
Другие советы
Да, xcopy настолько тупой.
Сделай это:
dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir
хотя иногда с этим все равно будет возникать проблема.
Если бы у вас был файл под названием практики.обj, например, он не скопировал бы это, но он также не смог бы скопировать ваш Microsoft.Практики.ObjectBuilder.dll
Удобный трюк заключается в том, что если вы укажете /s в dir, вы получите рекурсию и полный путь, тогда, если вы полностью укажете исходный каталог в xcopy, исключения должны будут совпадать с самого начала:
dir /s /b *.obj >excludes.txt
xcopy c:\sourcedir\* /exclude:excludes.txt \targetdir
Теперь Microsoft.Practices.ObjectBuilder.dll Копирование не удастся, только если у вас случайно есть файл Microsoft.Practices.obj в том же каталоге.Понял это?
XCOPY - это устаревший во всяком случае, сейчас, так что я сомневаюсь, что все будет исправлено.Взгляните на ROBOCOPY - он встроен в Vista и поставляется в комплекте ресурсов для 2003 и XP.
Ответ - это то, что вы могли бы получить, набрав:
xcopy /?
А именно:
/ИСКЛЮЧИТЬ:файл1[+файл2][+файл3]...
Задает список файлов, содержащих строки.Каждая строка должна быть в отдельной строке в файлах.Когда любая из строк совпадает с любой частью абсолютного пути к файлу, подлежащему копированию, этот файл будет исключен из копирования.Например указание строки типа \obj\ или .obj исключит все файлы, находящиеся в каталоге obj, или все файлы с расширением .obj соответственно.