Visual Basic 中学校 > VB.NET サンプル >
フルパスからファイル名・フォルダ名などを得る
1.ファイル名を得る単純な例
FileName = IO.Path.GetFileName("C:\Winnt\System32\User32.dll") 'User32.dll を返す。
この例ではファイルやフォルダが存在しなくても文字列を解析してファイル名を得ることができる。
2.フォルダ名を得る単純な例
FolderName = IO.Path.GetDirectoryName("C:\Winnt\System32\User32.dll") 'C:\Winnt\System32 を返す。
この例はファイルやフォルダが存在しなくても文字列を解析してフォルダ名を得ることができる。
3.拡張子を除いたファイル名を取得する例
FileName = IO.Path.GetFileNameWithoutExtension("C:\Winnt\System32\User32.dll") 'User32 を返す。
この例はファイルやフォルダが存在しなくても文字列を解析して拡張子を除いたファイル名を得ることができる。また、拡張子がないファイルを対象とすることもできる。
4.拡張子だけを取得する例
ExtName = IO.Path.GetExtension("C:\Winnt\System32\User32.dll") '.dll を返す。
この例はファイルやフォルダが存在しなくても文字列を解析して拡張子を得ることができる。また、拡張子がないファイルの場合は空文字を返す。
ファイル・フォルダに対して一連の指示をする場合はFileInfoクラス・DirectoryInfoクラスの使用を検討するとよい。これらのクラスを使っても上記とほぼ同等の処理をすることができる。
FileInfoクラスを使う例
Dim oFile As New IO.FileInfo("C:\Winnt\System32\User32.dll") FolderName = oFile.DirectoryName 'C:\Winnt\System32 を返す。
FileName = oFile.Name.Substring(0, oFile.Name.Length - oFile.Extension.Length)
ExtName = oFile.Extension '.dll を返す。
DirectoryInfoクラスのGetFilesメソッド・GetDirectoriesメソッドを使うと、ワイルドカードを指定して対象のファイル・フォルダを取得することができる。
Dir関数を使っても上記とほぼ同等の処理をすることができる。Dir関数はワイルドカード指定や、第2引数でファイル・フォルダの属性を指定できるなど多彩な機能を持つ。
Dir関数を使う例
FileName = Dir("C:\Winnt\System32\User32.dll") 'User32.dll を返す。ExtName = FullPath.Substring(FullPath.LastIndexOf(".")) '.dll を返す。
Dir関数はファイル・フォルダが実際に存在しない場合は空文字を返す。