VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応

 

Visual Basic 中学校 > VB.NET サンプル >

フルパスからファイル名・フォルダ名などを得る

1.ファイル名を得る単純な例

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応


FileName = IO.Path.GetFileName("C:\Winnt\System32\User32.dll")    'User32.dll を返す。
 

この例ではファイルやフォルダが存在しなくても文字列を解析してファイル名を得ることができる。

 

2.フォルダ名を得る単純な例

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応


FolderName = IO.Path.GetDirectoryName("C:\Winnt\System32\User32.dll") 'C:\Winnt\System32 を返す。
 

この例はファイルやフォルダが存在しなくても文字列を解析してフォルダ名を得ることができる。

 

.拡張子を除いたファイル名を取得する例

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応


FileName = IO.Path.GetFileNameWithoutExtension("C:\Winnt\System32\User32.dll")  'User32 を返す。
 

この例はファイルやフォルダが存在しなくても文字列を解析して拡張子を除いたファイル名を得ることができる。また、拡張子がないファイルを対象とすることもできる。

 

4.拡張子だけを取得する例

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応


ExtName = IO.Path.GetExtension("C:\Winnt\System32\User32.dll")    '.dll を返す。
 

この例はファイルやフォルダが存在しなくても文字列を解析して拡張子を得ることができる。また、拡張子がないファイルの場合は空文字を返す。

 

5.参考:FileInfoクラス、DirectoryInfoクラス, Dir()関数について

ファイル・フォルダに対して一連の指示をする場合はFileInfoクラス・DirectoryInfoクラスの使用を検討するとよい。これらのクラスを使っても上記とほぼ同等の処理をすることができる。

FileInfoクラスを使う例

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応

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関数を使う例

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応


FileName = Dir("C:\Winnt\System32\User32.dll")    'User32.dll を返す。

ExtName = FullPath.Substring(FullPath.LastIndexOf("."))    '.dll を返す。
 

Dir関数はファイル・フォルダが実際に存在しない場合は空文字を返す。

 


VB6対応フルパスからファイル名・フォルダ名などを得る