6月 12

デスクトップディレクトリの物理的なフルパスを取得する

System.EnvironmentクラスのGetFolderPath関数を利用します。
引数にはデスクトップを表すEnvironment.SpecialFolder.DesktopDirectoryを指定します。


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
            Console.WriteLine(desktop);
        }
    }
}

6月 12

ディレクトリのサブディレクトリ一覧を取得する

System.IO.DirectoryInfoクラスのGetDirectories関数を利用します。
戻り値は同じくサブディレクトリのSystem.IO.DirectoryInfoクラスの配列です。

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
        	// Cドライブ直下のサブディレクトリ一覧を取得
            System.IO.DirectoryInfo dirinfo = new System.IO.DirectoryInfo(@"c:\");
            System.IO.DirectoryInfo[] subdir = dirinfo.GetDirectories();

            foreach (System.IO.DirectoryInfo info in subdir)
                Console.WriteLine(info.FullName);
        }
    }
}

■結果

c:\Documents and Settings
c:\HP
c:\HP old
c:\MSOCache
c:\Program Files
c:\RECYCLER
c:\src
c:\System Volume Information
c:\temp
c:\Tosutils
c:\WINDOWS
c:\win_tool
c:\WTL80
6月 12

ディレクトリ(フォルダ)の移動/ディレクトリ名(フォルダ名)の変更

System.IO.Directory.Move()関数を使います。
移動元フォルダ名と
移動先フォルダ名を指定します。


// フォルダを移動する(移動の際、フォルダ名を変更しても構いません)
//
// ※移動元フォルダが無い場合
//      例外:System.IO.DirectoryNotFoundException   が発生します。
// ※移動先フォルダが既に存在する場合
//      例外:System.IO.IOException             が発生します。
System.IO.Directory.Move( @"C:\unko", @"C:\Temp\unko" );

// 移動元と移動先のフォルダが同じであれば名前を変更したことになります。
System.IO.Directory.Move( @"C:\unko", @"C:\hoge" );

6月 12

ディレクトリ(フォルダ)を削除する

指定フォルダを削除します。
System.IO.Directory.Delete()関数を使います。


// 削除するフォルダが存在しない場合は
//      System.IO.DirectoryNotFoundException 例外が発生します。
// フォルダが空でない場合は
//      System.IO.IOException 例外が発生します。
System.IO.Directory.Delete(@"c:\unko");

// フォルダ内にファイルやフォルダが存在しても
// 問答無用で削除したい場合は
// 第二パラメータにtrueを指定
System.IO.Directory.Delete(@"c:\unko",true);