Как проверить каталог это или файл? - C#
Формулировка задачи:
Есть функция,которая проверяет все подкаталоги в заданном каталоге и выдает перечень подкаталогов и файлов и количество файлов. проблема в том,что в количество файлов попадают и подкаталоги.
Текст функции:
Файл от каталога отличаеться атрибутами. У каталога File_Attribute_Directory=16, а у файла подобный атрибут 32.
Как получить значения этих атрибутов?
static void FindSubDir(string sPathSD)
{
string[] sSubDir = Directory.GetDirectories(sPathSD);
foreach (string s1 in sSubDir)
{
//Console.WriteLine("В каталоге " + s1 + " находяться файлы:" + sCount.Length+" шт.");
string[] sFileList = Directory.GetFiles(s1);
string[] sCount = Directory.GetFileSystemEntries(s1);
Console.WriteLine("В каталоге " + s1 + " находиться " + sCount.Length + " файл(а)");
foreach (string f1 in sFileList)
{
// FileInfo fi = new FileInfo(f1);
Console.WriteLine(f1);
}
FindSubDir(s1);
}
}Решение задачи: «Как проверить каталог это или файл?»
textual
Листинг программы
namespace ConsoleApplication4
{
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
class Program
{
[DllImport("kernel32.dll", SetLastError = true)]
static extern IntPtr GetConsoleWindow ();
[STAThread]
static void Main ( string[] args ) {
using (FolderBrowserDialog fbd = new FolderBrowserDialog()) {
if (fbd.ShowDialog(NativeWindow.FromHandle(GetConsoleWindow())) == DialogResult.OK) {
Console.WriteLine(fbd.SelectedPath);
Console.ReadLine();
}
}
}
}
}