[Tips][フォルダー操作] まとめ

これまでに紹介した「フォルダー操作」Tipsは下記の通りです。

  1. フォルダーを作成する
  2. フォルダーを移動する
  3. フォルダーを削除する
  4. フォルダーをコピーする
  5. フォルダーの存在を確認する
  6. 現在の作業フォルダーを取得/設定する
  7. フォルダーの作成日時を取得/設定する
  8. フォルダーの更新日時を取得/設定する
  9. フォルダーのアクセス日時を取得/設定する
  10. 指定したフォルダーのサブフォルダーを取得する
  11. 指定したフォルダーのサブフォルダーを再帰的に取得する
  12. 指定したフォルダー内のファイルを取得する
  13. 論理ドライブを取得する
  14. 指定したパスの親フォルダーを取得する
  15. 特別なフォルダーのパスを取得する

[Tips][フォルダー操作] 特別なフォルダーのパスを取得する

EnvironmentクラスGetFolderPathメソッドを使用すると「マイドキュメント」「デスクトップ」「お気に入り」といった特別なフォルダーを取得することができます。

GetFolderPathメソッドの引数にはEnvironment.SpecialFolder 列挙体(下記)を指定します。

Environment.SpecialFolder 列挙体
メンバ名 説明
ApplicationData 現在のローミング ユーザーのアプリケーション固有のデータの共通リポジトリとして機能するディレクトリ
CommonApplicationData すべてのユーザーが使用するアプリケーション固有のデータの共通リポジトリとして機能するディレクトリ。
CommonProgramFiles アプリケーション間で共有されるコンポーネント用のディレクトリ。
Cookies インターネット cookies の共通リポジトリとして機能するディレクトリ。
Desktop 物理的なファイル システム上の場所ではない論理的なデスクトップ。
DesktopDirectory デスクトップ上のファイル オブジェクトを物理的に格納するために使用されるディレクトリ。
Favorites お気に入り
History インターネットの履歴ディレクトリ
InternetCache インターネットのキャッシュディレクトリ
LocalApplicationData ローカルアプリケーションデータ用ディレクトリ
MyComputer マイコンピューターディレクトリ
MyDocuments マイドキュメント
MyMusic マイミュージック
MyPictures マイピクチャ
Personal ドキュメントの共通ディレクトリ
ProgramFiles プログラムファイルディレクトリ
Programs ユーザーのプログラムグループを格納するディレクトリ
Recent 最近使ったドキュメントを格納するディレクトリ
SendTo 「送る」メニュー項目を格納するディレクトリ
StartMenu [スタート]メニュー項目を格納するディレクトリ
Startup 「スタートアップ」プログラムグループに対応するディレクトリ
System システムディレクトリ
Templates ドキュメントのテンプレートを置くディレクトリ

下記はMy Documentsのフォルダーパスを取得する例です。

VBの例

Dim strMyDoc As String

'マイドキュメントフォルダを取得する
strMyDoc = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

'取得したパス文字列を表示する
MessageBox.Show("マイドキュメントのパスは[" & strMyDoc & "]です。")

C#の例

string strMyDoc;

//マイドキュメントフォルダを取得する
strMyDoc = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

//取得したパス文字列を表示する
MessageBox.Show("マイドキュメントのパスは[" + strMyDoc + "]です。");

[Tips][フォルダー操作] 指定したパスの親フォルダーを取得する

指定したパスの親フォルダーを取得するにはDirectoryクラスGetParentメソッドを使用します。

GetParentメソッドの戻り値はDirectoryInfo型となっており、返された値のNameプロパティに親フォルダー名が格納されています。

下記は”C:\Work\Child\Test.txt”の親フォルダー(Child)を取得する例です。

VBの例

Dim strPath As String = "C:Work\Child\Test.txt"
Dim strParentDir As IO.DirectoryInfo

'C:\Work\Child\Test.txt の親フォルダーを取得
strParentDir = IO.Directory.GetParent(strPath)

MessageBox.Show(strParentDir.Name)

C#の例

string strPath = @"C:Work\Child\Test.txt";
System.IO.DirectoryInfo strParentDir;

// C:\Work\Child\Test.txt の親フォルダーを取得
strParentDir = System.IO.Directory.GetParent(strPath);

MessageBox.Show(strParentDir.Name);