Я пытаюсь запустить xcopy, который копирует файлы, за исключением .obj и т. д. Я вижу, что Microsoft.Practices.ObjectBuilder.dll не копируется, если мой файл excludes.txt содержит расширение .obj. Когда .obj удаляется, Microsoft.Practices.ObjectBuilder.dll копируется правильно. Однако этого не происходит с другими DLL.
Кто-нибудь знает, почему это могло произойти?
Спасибо!
Леник





Я предполагаю, потому что подстрока .obj находится в имени Microsoft.Practices **. Obj ** ectBuilder.dll, и поскольку Windows не чувствительна к регистру, она исключит ее.
Куда вы копируете то, что видите .obj файлы?
Я рекурсивно копирую из корневого каталога - мне нужно включить .asmx, .configs и т. д., Но я хочу пропустить промежуточные файлы.
Ответ заключается в том, что вы можете получить, набрав:
xcopy /?
А именно:
/EXCLUDE:file1[+file2][+file3]...
Specifies a list of files containing strings. Each string should be in a separate line in the files. When any of the strings match any part of the absolute path of the file to be copied, that file will be excluded from being copied. For example, specifying a string like \obj\ or .obj will exclude all files underneath the directory obj or all files with the .obj extension respectively.
@gizmo - честно говоря, Леник, из справочного текста xcopy / exclude я бы не сказал, что RTFM сделал его более ясным, особенно это последнее предложение, которое довольно специфично из моего прочтения. «любая часть абсолютного пути» не обязательно соответствует какой-либо части имени файла.
Да здорово! Так что меня отвергают только потому, что люди не могут понять объяснение из пяти строк. Stackoverflow со временем становится все полезнее ... и все еще находится в стадии бета-тестирования.
Да уж, xcopy такой тупой.
Сделай это:
dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir
хотя иногда с этим все еще будет проблема.
Например, если бы у вас был файл с именем Practice.obj, он бы не скопировал его, но также не смог бы скопировать ваш Microsoft.Practices.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 в том же каталоге. Возьми?
спасибо Андре! MS Doc противоречит тому, что происходит на самом деле: «Если вы укажете строку« .obj », вы исключите все файлы с расширением .obj». любопытно, есть ли способ обойти проблему ...