Ich frage mich, wie ich C# verwenden könnte, um eine bestimmte Datei (Beispiel cheese.exe) in allen möglichen Verzeichnissen zu finden? Und dann den Pfad zu dem Verzeichnis speichern, in dem es gefunden wurde?Suchen Sie eine Datei in allen möglichen Ordnern?
5
A
Antwort
12
Dieses Codefragment ruft eine Liste aller logischen Laufwerke auf dem Computer ab und durchsucht dann alle Ordner auf dem Laufwerk nach Dateien, die dem Dateinamen "Cheese.exe" entsprechen. Nachdem die Schleife beendet ist, wird die Liste „Dateien“, um die
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
enthält Wenn Sie ein wenig mehr über die Mechanik des Suchens mehrere Verzeichnisse wissen wollen, enthüllt googeln this post. Es hat eine gute Lösung und eine Erklärung von rekursiv durch Verzeichnisse selbst. Sie können die Dateispezifikation in Directory.GetFiles
so ändern, dass sie Ihrer Suchzeichenfolge entspricht, und sie wahrscheinlich so verwenden, wie sie ist.
Verwandte Themen
- 1. ignorieren bestimmte Dateien in allen Ordnern eine einzelne Datei .gitignore
- 2. Paar die Daten in allen möglichen Kombinationen
- 3. Suche nach allen möglichen Möglichkeiten, Karten auszutauschen
- 4. Suche nach allen möglichen Kombinationen eines Textes
- 5. Robocopy eine Datei aus mehreren Ordnern verschieben
- 6. Suchen von Dateien und Ordnern in einem OSGI-Bundle
- 7. XCode Suchen und Ersetzen in allen Projektdateien
- 8. Suchen in allen Instanzen bestimmter Annotationstyp
- 9. Suchen/Grep in allen VI Puffer
- 10. Alle Dateien in allen Ordnern nach Größe sortieren
- 11. Zip-Datei aus Ordnern erstellen
- 12. Suchen Sie eine Datei für das heutige Datum in Python
- 13. Bash: Suchen Sie nach Dateien in bestimmten Ordnern und erstellen Sie dann Ausgabelisten
- 14. Suchen Sie eine Zeichenfolge in XML
- 15. Datei in Verzeichnisstruktur suchen
- 16. Finden Sie Text in großen Dateien durch Durchsuchen von Ordnern
- 17. Importieren Sie eine HTML-Datei in eine andere HTML-Datei
- 18. Suche nach allen möglichen Kombinationen innerhalb eines Strings mit Permutation
- 19. Suchen und entfernen Sie doppelte Einträge in csproj-Datei
- 20. MATLAB: Erstellen einer Matrix mit allen möglichen Gruppenkombinationen
- 21. Suche nach allen möglichen Permutationen/Kombinationen um eine bestimmte Summe in Matlab
- 22. Alle möglichen Permutationen aller möglichen Größen in Java
- 23. Suchen Sie eine JAR-Datei mit dem Klassennamen?
- 24. eine Datei in allen commits in git bearbeiten
- 25. Suche Dateien in allen Laufwerken mit Python
- 26. Java suchen Sie eine Textdatei
- 27. Holen Sie sich eine von vielen möglichen Lösungen in Prolog
- 28. Teilen Sie eine Zeichenfolge in alle möglichen geordneten Phrasen
- 29. Wie entpacken Sie eine Zip-Datei mit Ordnern und Dateien in Schienen, während die Verzeichnisstruktur beibehalten
- 30. R-Paket: Verwenden Sie eine benutzerdefinierte Datei/Verzeichnisstruktur in pkg/R und pkg/src-Ordnern
Fast - Sie müssen hinzufügen, in der SearchOption –
was passiert, wenn Sie nicht Zugriff auf die geben Verzeichnis ... sagen "Dokumente und Einstellungen" :) –
ja, einige Ausnahme Behandlung wird notwendig sein - das Fragment wird fehlschlagen die meisten Maschinen, weil das Diskettenlaufwerk nicht bereit ist. Es zeigt jedoch die Syntax für die GetFiles-Methode, die benötigt wird. –