xcopy / excluir questão
-
10-07-2019 - |
Pergunta
Eu estou tentando executar xcopy que copia arquivos excluindo obj, etc. O que estou vendo é que Microsoft.Practices.ObjectBuilder.dll não é copiada quando meu arquivo excludes.txt contém obj como uma extensão. Quando obj é removido, eu Microsoft.Practices.ObjectBuilder.dll é copiado corretamente. Isso não acontece com outras DLLs embora.
Alguém tem alguma idéia de por que isso iria acontecer?
Obrigado!
Lenik
Solução
Eu acho que porque o substring obj é encontrado nos Microsoft.Practices nome **. Obj ** ectBuilder.dll e desde janelas não diferencia maiúsculas e minúsculas, ele irá excluí-lo.
Outras dicas
Sim, xcopy é burro assim.
Faça o seguinte:
dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir
Embora este ainda terá o problema às vezes.
Se você tivesse um arquivo chamado practices.ob j, por exemplo, não seria copiar isso, mas ele também não seria suficiente para copiar o seu Microsoft. Practices.Obj ectBuilder.dll
Um truque útil é se você especificar / s no dir, você começa recursão e o caminho completo, em seguida, se você especificar o diretório de origem totalmente na xcopy, os exclui terá que corresponder a partir do começando:
dir /s /b *.obj >excludes.txt
xcopy c:\sourcedir\* /exclude:excludes.txt \targetdir
Agora Microsoft.Practices.ObjectBuilder.dll só iria deixar de cópia, se acontecer de você ter um arquivo Microsoft.Practices.obj no mesmo diretório. Obtê-lo?
XCOPY é deprecated agora de qualquer maneira, por isso duvido que as coisas vão ficar fixo. Dê uma olhada em ROBOCOPY - que está integrado no Vista, e vem no kit de recursos para 2003 e XP .
A resposta é o que você poderia obter digitando:
xcopy /?
A saber:
/ EXCLUDE: arquivo1 [+ arquivo2] [+ file3] ...
Especifica uma lista de arquivos que contêm cadeias. cada corda deve estar em uma linha separada nos arquivos. Quando qualquer um dos cordas corresponder a qualquer parte do caminho absoluto do arquivo a ser copiado, esse arquivo será excluído de ser copiado. Para exemplo, especificar uma string como \ obj \ ou .obj excluirá todos os arquivos sob o obj diretório ou todos os arquivos com o extensão .obj, respectivamente.