pracuję nad projektem i muszę wymienić wszystkie katalogi podrzędne w katalogu na przykład jak mógłbym wymienić wszystkie katalogi podrzędne w C: \jak notować wszystkie podkatalogi w katalogu
Odpowiedz
Korzystając Directory.GetDirectories
aby uzyskać podkatalogi katalogu określone przez "twoja_nazwa_directory". Wynikiem jest tablica łańcuchów.
var directories = Directory.GetDirectories("your_directory_path");
Domyślnie zwraca tylko podkatalogi o jeden poziom głęboki. Istnieją opcje zwracania wszystkich rekursywnie i filtrowania wyników, documented here i wyświetlane w odpowiedzi Clive'a.
uniknięcia UnauthorizedAccessException
To łatwo zdarzyć, że dostaniesz UnauthorizedAccessException
jeśli trafisz katalog, do którego nie mają dostępu.
Możesz stworzyć swoją własną metodę, która obsługuje wyjątek, na przykład:
public class CustomSearcher
{
public static List<string> GetDirectories(string path, string searchPattern = "*",
SearchOption searchOption = SearchOption.TopDirectoryOnly)
{
if (searchOption == SearchOption.TopDirectoryOnly)
return Directory.GetDirectories(path, searchPattern).ToList();
var directories = new List<string>(GetDirectories(path, searchPattern));
for (var i = 0; i < directories.Count; i++)
directories.AddRange(GetDirectories(directories[i], searchPattern));
return directories;
}
private static List<string> GetDirectories(string path, string searchPattern)
{
try
{
return Directory.GetDirectories(path, searchPattern).ToList();
}
catch (UnauthorizedAccessException)
{
return new List<string>();
}
}
}
a następnie wywołać ją tak:
var directories = CustomSearcher.GetDirectories("your_directory_path");
łatwe, jak to:
string[] folders = System.IO.Directory.GetDirectories(@"C:\My Sample Path\","*", System.IO.SearchOption.AllDirectories);
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TRIAL
{
public class Class1
{
static void Main(string[] args)
{
string[] fileArray = Directory.GetDirectories("YOUR PATH");
for (int i = 0; i < fileArray.Length; i++)
{
Console.WriteLine(fileArray[i]);
}
Console.ReadLine();
}
}
}
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult result = fbd.ShowDialog();
string[] files = Directory.GetFiles(fbd.SelectedPath);
string[] dirs = Directory.GetDirectories(fbd.SelectedPath);
foreach (string item2 in dirs)
{
FileInfo f = new FileInfo(item2);
listBox1.Items.Add(f.Name);
}
foreach (string item in files)
{
FileInfo f = new FileInfo(item);
listBox1.Items.Add(f.Name);
}
jeśli chcesz, aby lista zawierała się w polu listy, a użytkownik może wybrać folder, tak, ta odpowiedź działa. –
- 1. Jak uzyskać pliki w katalogu, w tym wszystkie podkatalogi
- 2. C# Usuń wszystkie puste podkatalogi.
- 3. Jak znaleźć wszystkie pliki z zerowym bajtem w katalogu zawierającym podkatalogi?
- 4. Jak mogę znaleźć wszystkie bezpośrednie podkatalogi bieżącego katalogu w systemie Linux?
- 5. Usuń folder i wszystkie pliki/podkatalogi
- 6. Utwórz katalog + podkatalogi
- 7. Jak wybrać podkatalogi w ant używając FileSet?
- 8. Auditd - reguła inspekcji do monitorowania tylko katalogu (nie wszystkie podkatalogi i pliki itp.)
- 9. POMYSŁ: Jak wyświetlić podkatalogi w pustym projekcie?
- 10. Jak rekursywnie przeglądać wszystkie podkatalogi i czytać pliki?
- 11. Jak kierować podkatalogi BuckleScript bsconfig.json
- 12. PHP - listingu wszystkie katalogi i podkatalogi rekurencyjnie w menu rozwijanego
- 13. Jak rekurencyjnie przetestować wszystkie skrzynie w katalogu?
- 14. muszę notować haki zarejestrowani java.lang.ApplicationShutdownHooks
- 15. Magento „Nie notować aktualny katalog roboczy”
- 16. Jak mogę usunąć wszystkie pliki/podkatalogi, z wyjątkiem niektórych plików w systemie DOS?
- 17. wykluczyć podkatalogi w tsconfig.json
- 18. WIX ComponentGroup podkatalogi
- 19. Usuń wszystkie pliki w katalogu bez podkatalogów z Apache Ant
- 20. Podkatalogi Golang
- 21. Dodawanie podkatalogi do Załaduj Ścieżka
- 22. Jak uzyskać wszystkie pliki w katalogu w ipad przy użyciu obiektywu c
- 23. Źródłowe podkatalogi w pakiecie Swift
- 24. Jak znaleźć tylko pliki w danym katalogu i zignorować podkatalogi za pomocą bashu
- 25. Jak odróżnić plik z katalogu w Perlu?
- 26. Ignoruj tylko podkatalogi w katalogu, a jednocześnie dołączając określony plik za pomocą tortoisesvn
- 27. lista PHP wszystkie pliki w katalogu
- 28. gmake kompilować wszystkie pliki w katalogu
- 29. Otwórz wszystkie pliki w różnych pythonach katalogu
- 30. list.files() wszystkie pliki w katalogu i podkatalogach
czy to nie wyrzuciłoby wyjątku UnauthorizedAccessException i * nie * dostałoby pozostałych folderów? –
@ J.Doe Przechodzi przez rekursywnie katalog i wszystkie jego podkatalogi. Jeśli trafi do podkatalogu, do którego nie może uzyskać dostępu, coś, co spowodowałoby 'UnauthorizedAccessException', przechwytuje wyjątek i po prostu zwraca pustą listę dla tego niedostępnego katalogu. Następnie przechodzi do następnego podkatalogu. –