Mi chiedevo come utilizzare C# per trovare un file specifico (esempio cheese.exe) in tutte le possibili directory? E poi memorizzare il percorso nella directory in cui l'ha trovato?Trova un file in tutte le cartelle possibili?
5
A
risposta
12
Questo frammento di codice recupera un elenco di tutte le unità logiche sulla macchina e quindi cerca tutte le cartelle sull'unità per i file che corrispondono al nome di file "Cheese.exe". Una volta che il ciclo è stato completato, i "file" elenco contiene i
var files = new List<string>();
//@Stan R. suggested an improvement to handle floppy drives...
//foreach (DriveInfo d in DriveInfo.GetDrives())
foreach (DriveInfo d in DriveInfo.GetDrives().Where(x => x.IsReady == true))
{
files.AddRange(Directory.GetFiles(d.RootDirectory.FullName, "Cheese.exe", SearchOption.AllDirectories));
}
2
Se vuoi sapere un po 'di più sulla meccanica del ricerca più directory, Googling rivelato this post. Ha una buona soluzione e una spiegazione di ricorsività da te stesso attraverso le directory. È possibile modificare il filespec in Directory.GetFiles
in modo che corrisponda alla stringa di ricerca e probabilmente utilizzarlo così com'è.
Problemi correlati
- 1. Trova tutte le possibili combinazioni di enumerazioni
- 2. Trova tutte le possibili liste parziali di una lista
- 3. Trova tutte le possibili distanze da due array
- 4. PostgreSQL trova tutte le combinazioni possibili (permutazioni) nella query ricorsiva
- 5. Genera tutte le sostituzioni possibili
- 6. ottenere un elenco di tutte le cartelle in directory
- 7. Tutte le possibili percorsi in un grafo ciclico
- 8. Trova tutte le differenze in un array a O (n)
- 9. Elenco di tutte le cartelle e sottocartelle
- 10. tutte le possibili combinazioni di n set
- 11. Come generare tutte le combinazioni possibili?
- 12. Python: tutte le possibili combinazioni dell'elenco "dinamico"
- 13. tutte le possibili combinazioni di fase
- 14. Ottieni tutte le possibili valute disponibili
- 15. ignorare alcuni file in tutte le cartelle utilizzando un unico file .gitignore
- 16. Accelerazione distanza tra tutte le possibili coppie in una matrice
- 17. Elenca tutte le cartelle nella directory
- 18. Ottenere tutte le combinazioni possibili da un elenco di numeri
- 19. Trova tutte le risorse incorporate in un altro assieme
- 20. Grunt JS come selezionare * tutte le cartelle
- 21. Trova tutte le combinazioni in arraylist in modo ricorsivo
- 22. Elimina in modo ricorsivo tutte le cartelle che iniziano con
- 23. Come copiare i file dall'albero delle cartelle lasciando cadere tutte le cartelle con Robocopy?
- 24. Eliminare tutte le cartelle e le sottodirectory che non hanno un file di certa estensione
- 25. Installshield, disinstallando il programma non rimuovendo tutte le cartelle
- 26. Trova tutte le classi in un pacchetto in Android
- 27. Come generare tutte le stringhe possibili in python?
- 28. Tutte le possibili varianti di zip in Python
- 29. Come trovare tutte le sottostringhe possibili in una stringa?
- 30. Trova tutte stringa "il" in file txt
Quasi - è necessario aggiungere SearchOption –
cosa succede quando non si ha accesso alla directory give ... dire "Documents and Settings" :) –
sì, sarà necessaria qualche gestione delle eccezioni - il frammento fallirà la maggior parte delle macchine perché l'unità floppy non è pronta. Mostra comunque la sintassi per il metodo GetFiles, che è ciò che è necessario. –