Special Folder

Windows の特殊フォルダーを調べます。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. Windows の特殊フォルダーを調べて印字します。
    特殊フォルダーは Environment.GetFolderPath() を使って取得します。
  2. 特殊フォルダーを印字する SpFolder.cs です。
    using System.IO; を設定して下さい。
    /**********************************/
    /*★ SpecialFolder      前田 稔 ★*/
    /**********************************/
    using System;
    using System.IO;
    
    public class SpFolder
    {
        static void Main()
        {
            Console.WriteLine("共有ファイルフォルダ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles));
            Console.WriteLine("クッキーフォルダ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.Cookies));
            Console.WriteLine("デスクトップ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory));
            Console.WriteLine("お気に入り\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.Favorites));
            Console.WriteLine("履歴\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.History));
            Console.WriteLine("インターネットキャッシュ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.InternetCache));
            Console.WriteLine("マイドキュメント\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.Personal));
            Console.WriteLine("☆MyComputer\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.MyComputer));
            Console.WriteLine("プログラムファイル\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
            Console.WriteLine("スタートメニュー\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu));
            Console.WriteLine("スタートメニューのプログラム\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.Programs));
            Console.WriteLine("スタートアップ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.Startup));
            Console.WriteLine("最近使用したドキュメント\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.Recent));
            Console.WriteLine("「送る」フォルダ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.SendTo));
            Console.WriteLine("ウィンドウズシステムフォルダ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.System));
            Console.WriteLine("テンプレート\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.Templates));
            Console.WriteLine("すべてのユーザーのApplication Dataフォルダ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData));
            Console.WriteLine("現在のローミングユーザーのApplication Dataフォルダ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
            Console.WriteLine("現在の非ローミングユーザーのApplication Dataフォルダ\n  " +
                System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData));
    
            Console.WriteLine("SystemDirectory\n  " + System.Environment.SystemDirectory);
            Console.WriteLine("CurrentDirectory\n  " + System.Environment.CurrentDirectory);
            Console.WriteLine("Desktop\n  " + System.Environment.SpecialFolder.Desktop);
            Console.WriteLine("MyComputer\n  " + System.Environment.SpecialFolder.MyComputer);
        }
    }
    
  3. 私のマシン(Windows7)の実行結果です。
    MyComputer のフォルダーが ""(NULL) になっていますが、これで正しいのでしょうか?。
    SystemDirectory, CurrentDirectory は System.Environment で直接定義されています。
    最後の Desktop, MyComputer は Environment.SpecialFolder の値を直接印字してみました。
    共有ファイルフォルダ
      C:\Program Files\Common Files
    クッキーフォルダ
      C:\Users\maeda\AppData\Roaming\Microsoft\Windows\Cookies
    デスクトップ
      C:\Users\maeda\Desktop
    お気に入り
      C:\Users\maeda\Favorites
    履歴
      C:\Users\maeda\AppData\Local\Microsoft\Windows\History
    インターネットキャッシュ
      C:\Users\maeda\AppData\Local\Microsoft\Windows\Temporary Internet Files
    マイドキュメント
      C:\Users\maeda\Documents
    ☆MyComputer
    
    プログラムファイル
      C:\Program Files
    スタートメニュー
      C:\Users\maeda\AppData\Roaming\Microsoft\Windows\Start Menu
    スタートメニューのプログラム
      C:\Users\maeda\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
    スタートアップ
      C:\Users\maeda\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    最近使用したドキュメント
      C:\Users\maeda\AppData\Roaming\Microsoft\Windows\Recent
    「送る」フォルダ
      C:\Users\maeda\AppData\Roaming\Microsoft\Windows\SendTo
    ウィンドウズシステムフォルダ
      C:\Windows\system32
    テンプレート
      C:\Users\maeda\AppData\Roaming\Microsoft\Windows\Templates
    すべてのユーザーのApplication Dataフォルダ
      C:\ProgramData
    現在のローミングユーザーのApplication Dataフォルダ
      C:\Users\maeda\AppData\Roaming
    現在の非ローミングユーザーのApplication Dataフォルダ
      C:\Users\maeda\AppData\Local
    
    SystemDirectory
      C:\Windows\system32
    CurrentDirectory
      C:\DATA\C#\BAT\Prog2
    Desktop
      Desktop
    MyComputer
      MyComputer
    
  4. Windows(C++) でも同様のプログラムを作成しています。
    超初心者のプログラム入門(Windows)から 特殊フォルダーのパスを求める を参照して下さい。
    リンクがエラーになるときは「前田稔の超初心者のプログラム入門」から辿って下さい。

超初心者のプログラム入門(C# Frame Work)