Path.GetDirectoryName メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Path.GetDirectoryName メソッドの意味・解説 

Path.GetDirectoryName メソッド

指定したパス文字列のディレクトリ情報を返します。

名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Shared Function GetDirectoryName
 ( _
    path As String _
) As String
public static string GetDirectoryName
 (
    string path
)
public:
static String^ GetDirectoryName (
    String^ path
)
public static String GetDirectoryName (
    String path
)
public static function GetDirectoryName
 (
    path : String
) : String

パラメータ

path

ファイルまたはディレクトリのパス。

戻り値
path がルート ディレクトリを示す場合、path または null 参照 (Visual Basic では Nothing) のディレクトリ情報を含む String は空の文字列 ("") または null 参照 (Visual Basic では Nothing) です。path にディレクトリ情報が含まれていない場合は、String.Empty を返します。

例外例外
例外の種類条件

ArgumentException

path パラメータに、無効な文字が含まれているか、空であるか、空白だけが含まれているか、またはワイルドカード文字が含まれています。

PathTooLongException

path パラメータがシステム定義の最大長を超えています。

解説解説

ほとんどの場合、このメソッドは、パス内の最後の DirectorySeparatorChar または AltDirectorySeparatorChar を含めずに、それよりも前にあるすべての文字で構成された文字列を返します。パスがルート ディレクトリ ("c:\" など) で構成されている場合は、null が返されます。このメソッドは "file:" を使用するパスをサポートしていません。返されるパスには、DirectorySeparatorChar または AltDirectorySeparatorChar は含まれないため、返されたパスを GetDirectoryName メソッドに再度渡すと、返された文字列に対してこのメソッドを呼び出すたびに 1 フォルダ レベルの切り捨てが行われます。たとえば、パス "C:\Directory\SubDirectory\test.txt" を GetDirectoryName メソッドに渡すと、"C:\Directory\SubDirectory" が返されます。この文字列 "C:\Directory\SubDirectory" を GetDirectoryName に渡すと、"C:\Directory" になります。

このメソッドの使用例については、「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

使用例使用例

Windows ベースのデスクトップ プラットフォーム上で GetDirectoryName メソッドを使用するコード例を次に示します。

Dim fileName As String =
 "C:\mydir\myfile.ext"
Dim pathname As String =
 "C:\mydir\"
Dim rootPath As String =
 "C:\"
Dim directoryName As String

directoryName = Path.GetDirectoryName(fileName)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'",
 fileName, directoryName)

directoryName = Path.GetDirectoryName(pathname)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'",
 pathname, directoryName)

directoryName = Path.GetDirectoryName(rootPath)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'",
 rootPath, directoryName)

'This code produces the following output:
'
'GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
'GetDirectoryName('C:\mydir\') returns 'C:\mydir'
'GetDirectoryName('C:\') returns ''
string fileName = @"C:\mydir\myfile.ext";
string path = @"C:\mydir\";
string rootPath = @"C:\";
string directoryName;
    
directoryName = Path.GetDirectoryName(fileName);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    fileName, directoryName);

directoryName = Path.GetDirectoryName(path);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    path, directoryName);

directoryName = Path.GetDirectoryName(rootPath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    rootPath, directoryName);
/*
This code produces the following output:

GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
GetDirectoryName('C:\mydir\') returns 'C:\mydir'
GetDirectoryName('C:\') returns ''

*/
String^ fileName = "C:\\mydir\\myfile.ext";
String^ path = "C:\\mydir\\";
String^ rootPath = "C:\\";
String^ directoryName;
directoryName = Path::GetDirectoryName( fileName );
Console::WriteLine( "GetDirectoryName('{0}') returns '{1}'", fileName,
 directoryName );
directoryName = Path::GetDirectoryName( path );
Console::WriteLine( "GetDirectoryName('{0}') returns '{1}'", path, directoryName
 );
directoryName = Path::GetDirectoryName( rootPath );
Console::WriteLine( "GetDirectoryName('{0}') returns '{1}'", rootPath,
 directoryName );

/*
This code produces the following output:

GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
GetDirectoryName('C:\mydir\') returns 'C:\mydir'
GetDirectoryName('C:\') returns ''

*/
String fileName = "C:\\mydir\\myfile.ext";
String path = "C:\\mydir\\";
String rootPath = "C:\\";
String directoryName;

directoryName = Path.GetDirectoryName(fileName);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    fileName, directoryName);

directoryName = Path.GetDirectoryName(path);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    path, directoryName);

directoryName = Path.GetDirectoryName(rootPath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    rootPath, directoryName);
/*
This code produces the following output:

GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
GetDirectoryName('C:\mydir\') returns 'C:\mydir'
GetDirectoryName('C:\') returns ''

*/
var fileName : String = "C:\\mydir\\myfile.ext";
var path : String = "C:\\mydir\\";
var rootPath : String = "C:\\";
var directoryName : String;
    
directoryName = Path.GetDirectoryName(fileName);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
                  fileName, directoryName);

directoryName = Path.GetDirectoryName(path);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
                  path, directoryName);

directoryName = Path.GetDirectoryName(rootPath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
                  rootPath, directoryName);
/*
This code produces the following output:

GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
GetDirectoryName('C:\mydir\') returns 'C:\mydir'
GetDirectoryName('C:\') returns ''

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

Path.GetDirectoryName メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Path.GetDirectoryName メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS