ヘッダー
Visual Basic サンプル集
VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

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

2020/8/16

→ C# のサンプルに切り替える

 

参考:Pathクラスでパスの取得するメソッドの概要

Pathクラスから取得できるパスの概要

 

 

パスからファイル名を取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim fileName As String = IO.Path.GetFileName("C:\Windows\System32\calc.exe")

Debug.WriteLine(fileName) ' calc.exe と表示されます。

Debug.WriteLineが表示される場所

パスからファイル名を取得

  • 存在しないパスも対象にできます。
  • 相対パスも対象にできます。

 

 

パスから親フォルダーのパスを取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim folderPath As String = IO.Path.GetDirectoryName("C:\Windows\System32\calc.exe")

Debug.WriteLine(folderPath) ' C:\Windows\System32 と表示されます。

Debug.WriteLineが表示される場所

パスから親フォルダーのパスを取得

  • 存在しないパスも対象にできます。
  • 相対パスも対象にできます。

 

フォルダーの親フォルダーを取得するのにも使用できます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim folderPath As String = IO.Path.GetDirectoryName("C:\Windows\Microsoft.NET\Framework\v4.0.30319")

Debug.WriteLine(folderPath) ' C:\Windows\Microsoft.NET\Framework と表示されます。

Debug.WriteLineが表示される場所

  • 存在しないパスも対象にできます。
  • 相対パスも対象にできます。

 

 

パスから親フォルダーの名前を取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim folderPath As String = IO.Path.GetDirectoryName("C:\Windows\System32\calc.exe")
Dim folderName As String = IO.Path.GetFileName(folderPath)

Debug.WriteLine(folderName) ' System32 と表示されます。

Debug.WriteLineが表示される場所

パスから親フォルダーの名前を取得

  • 存在しないパスも対象にできます。
  • 相対パスも対象にできますが、 .. などは「..」という名前のフォルダー名とみなされます。

 

フォルダーの親フォルダーを取得するのにも使用できます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim folderPath As String = IO.Path.GetDirectoryName("C:\Windows\Microsoft.NET\Framework\v4.0.30319")
Dim folderName As String = IO.Path.GetFileName(folderPath)

Debug.WriteLine(folderName) ' Framework と表示されます。

Debug.WriteLineが表示される場所

  • 存在しないパスも対象にできます。
  • 相対パスも対象にできますが、 .. などは「..」という名前のフォルダー名とみなされます。

 

 

パスから拡張子を除いたファイル名を取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim fileName As String = IO.Path.GetFileNameWithoutExtension("C:\Windows\System32\calc.exe")

Debug.WriteLine(fileName) ' calc と表示されます。

Debug.WriteLineが表示される場所

パスから拡張子を除いたファイル名を取得

  • 存在しないパスも対象にできます。
  • 相対パスも対象にできます。

 

 

パスからファイルの拡張子を取得する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim extension As String = IO.Path.GetExtension("C:\Windows\System32\calc.exe")

Debug.WriteLine(extension) ' .exe と表示されます。

Debug.WriteLineが表示される場所

パスから拡張子を取得

  • 結果には . が付きます。
  • webform1.aspx.vb のように . が2つ以上ある場合でも、最後の部分だけを取得します。(この例では「.vb」)
  • 拡張子がない場合 空文字を返します。
  • 存在しないパスも対象にできます。
  • 相対パスも対象にできます。

 

メモ メモ  -  OSの違い

Pathクラスは実行するOSのファイルシステムの規則に基づいてパスを解析します。

たとえば、Linuxで実行すると、Linux用のパス ( /etc/debian_version など) を解析できますが、Windows用のパスは解析できません。

Windowsで実行するとWindows用のパスは解析できますが、Linux用のパスは解析できません。



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