copia / esclusione problema
-
10-07-2019 - |
Domanda
Sto cercando di eseguire xcopy che copia i file escludendo .obj, ecc. Quello che sto vedendo è che Microsoft.Practices.ObjectBuilder.dll non viene copiato quando il mio file excluses.txt contiene .obj come estensione. Quando viene rimosso .obj, I Microsoft.Practices.ObjectBuilder.dll viene copiato correttamente. Questo non succede però ad altre DLL.
Qualcuno ha idea del perché ciò accada?
Grazie!
Lenik
Soluzione
Immagino perché la sottostringa .obj si trova nel nome Microsoft.Practices **. Obj ** ectBuilder.dll e poiché Windows non fa distinzione tra maiuscole e minuscole, lo escluderà.
Altri suggerimenti
Sì, xcopy è così stupido.
Fai questo:
dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir
anche se a volte questo avrà ancora il problema.
Se avessi un file chiamato practice.ob j, ad esempio, non lo copierebbe, ma non riuscirebbe nemmeno a copiare la tua Microsoft. Practices.Obj ectBuilder.dll
Un trucco utile è se si specifica / s su dir, si ottiene la ricorsione e il percorso completo, quindi se si specifica la directory di origine completamente sulla xcopy, le esclusioni dovranno corrispondere dal inizio:
dir /s /b *.obj >excludes.txt
xcopy c:\sourcedir\* /exclude:excludes.txt \targetdir
Ora Microsoft.Practices.ObjectBuilder.dll non riuscirebbe a copiare solo se ti capita di avere un file Microsoft.Practices.obj nella stessa directory. Capito?
La risposta è ciò che potresti ottenere digitando:
xcopy /?
Vale a dire:
/ exclude: file1 [+ file2] [+ file3] ...
Specifica un elenco di file contenenti stringhe. Ogni stringa dovrebbe essere in una riga separata nei file. Quando uno dei le stringhe corrispondono a qualsiasi parte del percorso assoluto del file copiato, quel file verrà escluso dalla copia. Per ad esempio, se si specifica una stringa come \ obj \ o .obj tutti i file sotto la directory obj o tutti i file con estensione .obj rispettivamente.