Listing details of files and folders in a Directory in c#

You can get the list of files and folders in WIndows explorer or in a DOS prompt. It's often useful to get content of a folder dynamically using some scripts or programs, especially if you need these details in some applications. Below is a chunk of C# code which gives you the details for files and folders of a given path. You can add additional fields to your out based on your need.

Make an executable file, i.e exe, and use it in your application or run it from the command prompt. Results can be redirected to a text file or csv file.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;


namespace WinConsole
{
class ListFilesOfDirectory
{
public static long size = 0;
public static long totalSizeInMB = 0;
public static long maxSizeInMB = 0;

public static void listFiles(string path)
{

DirectoryInfo di = new DirectoryInfo(path);

DirectoryInfo[] folders = di.GetDirectories();

long[] listOfDir = new long[folders.Length];
int i=0;
foreach (DirectoryInfo d in folders)
{
size = 0;
listOfDir[i] = GetSizeOdDirectory(d);
i += 1;
totalSizeInMB += size / (1024 * 1024);
if (maxSizeInMB <>
maxSizeInMB = size / (1024 * 1024);
}
// display results in tab separated txt file
Console.WriteLine("**\t**\t**\t**\t**");
Console.WriteLine("File\t\t\t\t Size in MB");
for(int j=0;j
{
Console.WriteLine(folders[j].Name + "\t \t \t"+listOfDir[j].ToString());
}
Console.WriteLine("**\t**\t**\t**\t**");
// Console.ReadKey();
}

public static long GetSizeOdDirectory(DirectoryInfo directory)
{

DirectoryInfo[] dir = directory.GetDirectories();
foreach (DirectoryInfo d in dir)
{
GetSizeOdDirectory(d);
}
FileInfo[] files = directory.GetFiles();
foreach (FileInfo f in files)
{
size += f.Length;
}
return size;
}
public static void Main(string[] args)
{
string path=args[0].ToString();
listFiles(path);

}
}
}

3 comments:

  1. i Dont Understand the code on our pOST...

    ReplyDelete
    Replies
    1. Create an application in Visual Studio and copy paste this code and run the application

      Delete

FREE 50 Linux Interview Questions and Answers for Beginner Level

Desclainer: Please note that the answers to these questions are correct to my knowledge. Please feel free to comment if you find any incorre...