プロが教えるわが家の防犯対策術!

こんばんは。
VB.NETで
a="c:\aaa\bbb\ccc\ddd.txt"
となっている文字列から
最後のフォルダ名cccだけを取得するしたいのですが
どのような方法が良いでしょうか?
良い方法があったら教えて頂きたいです。
よろしくおねがいします。

A 回答 (2件)

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
のように事前バインディングできます。
    • good
    • 0
この回答へのお礼

こんばんは。
ご回答ありがとうございます。
1050YENの方法と違いを考えてみて
都合の良い方を使わせて頂きたいと思います。
ありがとうございます。

お礼日時:2006/03/11 23:55

.NETならば、FSOもどきのクラスがあるので、それを利用したら簡単だと思います。


Dim l_File As New System.IO.FileInfo("c:\aaa\bbb\ccc\ddd.txt")
MsgBox(l_File.Directory.Name)
    • good
    • 1
この回答へのお礼

こんばんは、ご回答ありがとうございます。
たった一行で出来るのですね。
BLUEPIXYさんから頂いた方法と違いを考えてみて
より適した方を使わせて頂こうと思います。
ありがとうございます。

お礼日時:2006/03/11 23:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!