パスからファイル名(フォルダ名)のみを取り出すには FileSystemObject の getFileName メソッドを使用します。
obj1.getFileName( 文字列1 )
オブジェクト(obj1) |
FileSystemObject オブジェクト。 CreateObject 関数で生成する。 |
戻り値 | ファイル名(フォルダ名)に該当する部分の文字列 |
引数1(文字列1) |
ファイル(フォルダ)のパスの文字列 "C:\vbs\tes.txtt"、".\test"など |
getFileName では引数のファイル(フォルダ)が存在するかどうかは動作に影響しません。
単純に引数に与えた文字列からファイル名(フォルダ名)に該当する部分を切り出すだけなので、ファイルが実際に存在するかを調べるには FileExists を、フォルダが実際に存在するかを調べるには FolderExists を使用します。
'変数を宣言 Dim FS Dim filename 'ファイルシステムオブジェクトを生成 Set FS = CreateObject("Scripting.FileSystemObject") 'C:\vbs\test.txt からファイル名のみ切り出す filename = FS.getFileName( "C:\vbs\test.txt" ) 'C:\vbs\test.txt のファイル名の部分 test.txt を表示 MsgBox filename '引数のパスは相対パスでも動作する filename = FS.getFileName( "..\..\test" ) '..\..\test.txt のフォルダ名の部分 test を表示 MsgBox filename