- ベストアンサー
VB.NETで最後フォのフォルダ名だけを取得する方法
こんばんは。 VB.NETで a="c:\aaa\bbb\ccc\ddd.txt" となっている文字列から 最後のフォルダ名cccだけを取得するしたいのですが どのような方法が良いでしょうか? 良い方法があったら教えて頂きたいです。 よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
.NETならば、FSOもどきのクラスがあるので、それを利用したら簡単だと思います。 Dim l_File As New System.IO.FileInfo("c:\aaa\bbb\ccc\ddd.txt") MsgBox(l_File.Directory.Name)
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
String.Split を使うのが一番簡単だと思います。 例えば、 Dim a As String ="c:\aaa\bbb\ccc\ddd.txt" Dim Path As String() Path = a.Split("\") とすれば、Path(Path.length - 2) で "ccc" が得られます。 真面目にやるなら、 Scripting.FileSystemObjectを使って Dim fso As Object Dim fo As Object fso=CreateObject("Scripting.FileSystemObject") Dim parentFolder As String parentFolder=fso.GetParentFolderName(a) '"c:\aaa\bbb\ccc" fo=GetFolder(parentFolder) 'フォルダは実際に存在しなければならない! parentFolder=fo.Name のようにすればいいです。 Scrrun.dll:[Microsoft Scripting Runtime]を参照設定しておけば Imports Scripting Dim fso As New FileSystemObject のように事前バインディングできます。
お礼
こんばんは。 ご回答ありがとうございます。 1050YENの方法と違いを考えてみて 都合の良い方を使わせて頂きたいと思います。 ありがとうございます。
お礼
こんばんは、ご回答ありがとうございます。 たった一行で出来るのですね。 BLUEPIXYさんから頂いた方法と違いを考えてみて より適した方を使わせて頂こうと思います。 ありがとうございます。