Ответ 1
Учитывая путь в виде строки, вы можете использовать System.IO.File.GetAttributes(string path), чтобы получить перечисление FileAttributes
, а затем проверить, установлен ли флаг FileAttributes.Directory
.
Чтобы проверить папку в версиях .NET до .NET 4.0, вы должны сделать:
FileAttributes attr = File.GetAttributes(path);
bool isFolder = (attr & FileAttributes.Directory) == FileAttributes.Directory;
В новых версиях вы можете использовать метод HasFlag
чтобы получить тот же результат:
bool isFolder = File.GetAttributes(path).HasFlag(FileAttributes.Directory);
Также обратите внимание, что FileAttributes
может предоставлять различные другие флаги о файле/папке, такие как:
-
FileAttributes.Directory
: путь представляет папку -
FileAttributes.Hidden
: файл скрыт -
FileAttributes.Compressed
: файл сжат -
FileAttributes.ReadOnly
: файл только для чтения -
FileAttributes.NotContentIndexed
: исключен из индексации
и т.п.