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

È stato utile?

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?

XCOPY è deprecato ora comunque, quindi dubito che le cose si sistemeranno. Dai un'occhiata a ROBOCOPY: è integrato in Vista e viene fornito nel kit di risorse per 2003 e XP .

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top