ファイルパスからルートフォルダ(ルートディレクトリ)を取得するにはSystem.IO.Path.GetPathRoot()を使用します。
サンプルコード
-
C#
string pathRoot = System.IO.Path.GetPathRoot(path);
-
VB.NET
Dim pathRoot As String = System.IO.Path.GetPathRoot(path)
-
結果
GetPathRootに渡した文字列 結果 (null) (null) (空文字列) 例外:System.ArgumentException:パスの形式が無効です。 . (空文字列) .. (空文字列) memo.txt (空文字列) c (空文字列) c: c: c:\ c:\ c:\. c:\ c:\memo.txt c:\ c:: 例外:System.ArgumentException:パスの形式が無効です。 c::\ 例外:System.ArgumentException:パスの形式が無効です。 c::\memo.txt 例外:System.ArgumentException:パスの形式が無効です。 c:\\ c:\ c:\\. c:\ c:\\memo.txt c:\ \memo\ \ \memo\. \ \memo\test \ \memo\test.txt \ \\networkPC\ \\networkPC\ \\networkPC\. \\networkPC\. \\networkPC\memo \\networkPC\memo \\networkPC\memo.txt \\networkPC\memo.txt \\networkPC\memo\ \\networkPC\memo \\networkPC\memo\test.txt \\networkPC\memo \\networkPC\memo.txt\test.txt \\networkPC\memo.txt パスで使えない文字を含む 例外「System.ArgumentException "パスに無効な文字が含まれています。"」
検証環境
- Microsoft Visual Studio 2008 Version 9.0.30729.4462 QFE Edition: Professional
- Microsoft .NET Framework Version 3.5 SP1
- Microsoft Windows 7 Professional Service Pack 1 (Microsoft Windows NT 6.1 (7601))