Get Current Directory

   
 


using System;
using System.IO;

class MainClass {
    static void Main() {
        Console.WriteLine("Using: " + Directory.GetCurrentDirectory());
        Console.WriteLine("The relative path 'file.txt' " + "will automatically become: '" + Path.GetFullPath("file.txt") + "'");

    }
}
           
         
     


Check the Existance of a Directory

   
 


using System;
using System.IO;

class MainClass {
    static void Main(string[] args) {
        foreach (string arg in args) {
            Console.Write(arg);

            if (Directory.Exists(arg)) {
                Console.WriteLine(" is a  directory");
            } else if (File.Exists(arg)) {
                Console.WriteLine(" is a  file");
            } else {
                Console.WriteLine(" does not exist");
            }
        }
    }
}

           
         
     


Copy Directory

   
  
using System;
using System.IO;

class MainClass {
    static void Main(string[] args) {
        DirectoryInfo sourceDir = new DirectoryInfo("c:source");
        DirectoryInfo destinationDir = new DirectoryInfo("c:	arget");

        CopyDirectory(sourceDir, destinationDir);

    }

    static void CopyDirectory(DirectoryInfo source, DirectoryInfo destination) {
        if (!destination.Exists) {
            destination.Create();
        }
        // Copy all files.
        FileInfo[] files = source.GetFiles();
        foreach (FileInfo file in files) {
            file.CopyTo(Path.Combine(destination.FullName,
               file.Name));
        }

        // Process subdirectories.
        DirectoryInfo[] dirs = source.GetDirectories();
        foreach (DirectoryInfo dir in dirs) {
            string destinationDir = Path.Combine(destination.FullName, dir.Name);
            CopyDirectory(dir, new DirectoryInfo(destinationDir));
        }
    }
}

   
     


Calculate Directory Size

   
  

using System;
using System.IO;

class MainClass {
    static void Main(string[] args) {
        DirectoryInfo dir = new DirectoryInfo("c:");
        Console.WriteLine("Total size: " + CalculateDirectorySize(dir, true).ToString() + " bytes.");

    }

    static long CalculateDirectorySize(DirectoryInfo directory, bool includeSubdirectories) {
        long totalSize = 0;

        FileInfo[] files = directory.GetFiles();
        foreach (FileInfo file in files) {
            totalSize += file.Length;
        }

        if (includeSubdirectories) {
            DirectoryInfo[] dirs = directory.GetDirectories();
            foreach (DirectoryInfo dir in dirs) {
                totalSize += CalculateDirectorySize(dir, true);
            }
        }

        return totalSize;
    }
}

   
     


Get Last Access Time

   
  

using System;
using System.IO;

class MainClass {
    static void Main(string[] args) {
        FileInfo file = new FileInfo("c:a.txt");

        // Display directory information.
        DirectoryInfo dir = file.Directory;

        Console.WriteLine("Checking directory: " + dir.Name);
        Console.WriteLine("In directory: " + dir.Name);
        Console.Write("Directory exists: ");
        Console.WriteLine(dir.Exists.ToString());

        if (dir.Exists) {
            Console.Write("Directory last accessed: ");
            Console.WriteLine(dir.LastAccessTime.ToString());
        }
        Console.WriteLine();
    }
}

   
     


Get Last Write Time

   
  

using System;
using System.IO;

class MainClass {
    static void Main(string[] args) {
        FileInfo file = new FileInfo("c:a.txt");

        // Display directory information.
        DirectoryInfo dir = file.Directory;

        Console.WriteLine("Checking directory: " + dir.Name);
        Console.WriteLine("In directory: " + dir.Name);
        Console.Write("Directory exists: ");
        Console.WriteLine(dir.Exists.ToString());

        if (dir.Exists) {
            Console.Write("Directory last updated: ");
            Console.WriteLine(dir.LastWriteTime.ToString());
        }
        Console.WriteLine();
    }
}

   
     


Get Creation Time

   
  

using System;
using System.IO;

class MainClass {
    static void Main(string[] args) {
        FileInfo file = new FileInfo("c:a.txt");

        // Display directory information.
        DirectoryInfo dir = file.Directory;

        Console.WriteLine("Checking directory: " + dir.Name);
        Console.WriteLine("In directory: " + dir.Name);
        Console.Write("Directory exists: ");
        Console.WriteLine(dir.Exists.ToString());

        if (dir.Exists) {
            Console.Write("Directory created: ");
            Console.WriteLine(dir.CreationTime.ToString());
        }
        Console.WriteLine();
    }
}