2011-12-16 2 views
48

Cosa significa il seguente percorso file?Due asterischi nel percorso file

$(Services_Jobs_Drop_Path)\**\*.config 

La variabile contiene solo un percorso, niente di interessante. Sono molto più preoccupato, che diavolo significa il **. Qualche idea?

P.S. Il seguente percorso è usato negli script di msbuild, se aiuta.

risposta

57

\**\ Questo modello è spesso utilizzato in Copy Task per l'attraversamento di cartelle ad albero ricorsive. Fondamentalmente significa che tutti i file con estensione config verranno elaborati da tutte le sottodirectory del percorso $(Services_Jobs_Drop_Path).

MSDN, Using Wildcards to Specify Items:

È possibile utilizzare l'**, * e? caratteri jolly per specificare un gruppo di file come input per una compilazione anziché elencare ciascun file separatamente.

  • Il? carattere jolly corrisponde a un singolo carattere.
  • Il carattere jolly * corrisponde a zero o più caratteri.
  • La ** sequenza di caratteri jolly corrisponde a un percorso parziale.

MSDN, Specifying Inputs with Wildcards

Per includere tutti i file .jpg nella directory e sottodirectory Immagini Utilizzare il seguente Includere attributi:

include = "Immagini \ ** \ *. jpg "

+0

Ora, è interessante. Grazie per la risposta. – Arnthor

+0

Dove posso ottenere una descrizione completa di tutto questo per entrambi i sistemi Windows e * nix? (ad esempio, la differenza tra lasciare il front blank rispetto a "./") – Dois

+1

@Dois, le convenzioni sono abbastanza standard per l'espansione del percorso in stile * nix, sebbene i dettagli possano differire tra i diversi ambienti shell. Se stai utilizzando bash, cerca le specifiche di espansione del percorso bash. Se stai usando zsh o tcsh, cerca invece quelli. Dopo circa un'ora di ricerca, non riesco a trovare molto sugli standard di Windows per l'espansione del percorso oltre a ciò che è sopra in questa risposta. – kdbanman