フルパスからファイル名だけを削除するには?

解決


北辰  2005-09-30 04:47:07  No: 125888

Dim strFilePath1 As String
Dim strFilePath2 As String
strFilePath1="D:\files\test.txt"

例えばこのような、ファイルのフルパスを示す文字列があるとき、
ファイル名「text.txt」を削除して、ファイルがあるフォルダ
「D:\files\」までの文字列  strFilePath2  を作成したいです。
(パスの深さやドライブは一定ではありません、
C:\Documents and Settings\AAA\デスクトップ\text2.txt
なども含まれます。)
つまり、一番最後の「\」以降を削除したいですが、どうすればよろしいでしょうか。よろしくご教授お願いします。


ガッ  2005-09-30 05:20:06  No: 125889

本当に文字列として扱いたいのなら、
・Mid$()で右から丁寧に調べる
  →(VB6)InStrRevを使ってみてもいい
・面倒なので、Scripting.FileSystemObjectのGetParentFolderNameを使う。

….NETはもっといいのあるかもね。


TTT  2005-09-30 05:35:09  No: 125890

.NETなら

strFilePath2 = System.IO.Directory.GetParent(strFilePath1).FullName

とか。


いな  2005-09-30 05:45:30  No: 125891

VB6なら

strFilePath2 = Left(strFilePath1, InStrRev(strFilePath1, "\"))

とか。


北辰  2005-09-30 05:57:33  No: 125892

皆さんありがとうございました!
VB6ですので、いなさんのアドバイスで希望どおりです。
どうもでした!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加