2011-09-02 9 views
8

Ho il seguente pezzo di codice:È possibile specificare il percorso della directory con un carattere jolly?

foreach (string file in Directory.GetFiles(sourcePath)) 
{ 
    // whatever 
} 

che ottiene i file da una directory specifica. Sarebbe possibile abbinare le directory usando un carattere jolly? Per esempio:

c:\test\di* 

corrisponde a tutti i file nelle directory:

c:\test\dictionary\ 
c:\test\directory\ 
c:\test\dig\ 

ho visto che è possibile passare un filtro di file al metodo GetFiles, ma che si applica solo ai file, non i nomi delle directory.

risposta

10

si dispone di un overload per questo che permette di specificare un modello di ricerca o se è necessario specificare le opzioni di ricerca c'è another overload:

foreach (string directory in Directory.GetDirectories(sourcePath, "di*")) 
{ 
    // whatever 
} 
+0

Credo che questo sia un filtro di file e non permette per l'utilizzo di caratteri jolly quando si specifica la directory. Il tuo esempio non otterrebbe solo i file che iniziano con 'di' in una directory specifica. –

+2

@Abe Miessler, no, funziona perfettamente con i nomi delle directory. Prova l'esempio che ho postato: 'Directory.GetDirectories (@" c: \ test "," di * "))' corrisponderà a tutte le directory che hai mostrato nella tua domanda. –

+0

oh! Ok, fammi testare. –

Problemi correlati