メイン画像

VBScript - パスの生成・取得(FileSystemObject)

VBScript - パスの生成・取得(FileSystemObject)


FileSystemObject を使ってパスを生成したり、パスからフォルダ名やファイル名を取得する方法を紹介する。

パスを生成する(BuildPath メソッド)

フォルダまたはファイルのパスを生成するには BuildPath メソッドを使う。

WScript.Echo fso.BuildPath("C:\tmp\vbs", "BuildPath.vbs")
' → C:\tmp\vbs\BuildPath.vbs

完全なパスを取得する(GetAbsolutePathName メソッド)

相対パスから絶対パスを取得するには GetAbsolutePathName メソッドを使う。

C:\tmp\vbs フォルダにあるスクリプト fso1.vbs を実行した場合、次のような結果になる。

WScript.Echo fso.GetAbsolutePathName(WScript.ScriptName)
' → C:\tmp\vbs\fso1.vbs

ドライブ名を取得する(GetDriveName メソッド)

指定したパスのドライブ名を取得するには GetDriveName メソッドを使う。

WScript.Echo fso.GetDriveName("C:\Windows\notepad.exe")
' → C:

親フォルダの名前を取得する(GetParentFolderName メソッド)

指定したパスの親フォルダの名前を取得するには GetParentFolderName メソッドを使う。

ファイルのパスを指定した場合は、そのファイルの親フォルダが返る。

WScript.Echo fso.GetParentFolderName("C:\Windows\System32\notepad.exe")
' → C:\Windows\System32

フォルダのパスを指定した場合は、そのフォルダの親フォルダが返る。

WScript.Echo fso.GetParentFolderName("C:\Windows\System32")
' → C:\Windows

WScript.Echo fso.GetParentFolderName("C:\Windows")
' → C:\

ドライブを指定した場合は空文字が返る。

WScript.Echo fso.GetParentFolderName("C:\")
' → (空文字)

ファイル名を取得する (GetFileName メソッド)

指定したパスよりファイル名を取得するには GetFileName メソッドを使う。

WScript.Echo fso.GetFileName("C:\Windows\System32\notepad.exe")
' → notepad.exe

フォルダのパスを指定した場合は、そのフォルダの名前が取得できる。

WScript.Echo fso.GetFileName("C:\Windows\System32")
' → System32

ドライブを指定した場合は空文字が返る。

WScript.Echo fso.GetFileName("C:\")
' → (空文字)

WScript.Echo fso.GetFileName("C:")
' → (空文字)

拡張子を除いたファイル名を取得する(GetBaseName メソッド)

拡張子を除いたファイル名を取得するには GetBaseName メソッドを使う。

WScript.Echo fso.GetBaseName("C:\Windows\System32\notepad.exe")
' → notepad

フォルダのパスを指定した場合、そのフォルダ名が返る。

WScript.Echo fso.GetBaseName("C:\Windows\System32")
' → System32

ファイルの拡張子名を取得する(GetExtensionName メソッド)

ファイルの拡張子名を取得するには GetExtensionName メソッドを使う。

WScript.Echo fso.GetExtensionName("C:\Windows\System32\notepad.exe")
' → exe

フォルダのパスを指定した場合は空文字が返る。

WScript.Echo fso.GetExtensionName("C:\Windows\System32")
' → (空文字)

ただし、フォルダ名にドットが含まれている場合は、ドットより後ろの文字列が返る。

WScript.Echo fso.GetExtensionName("C:\tmp\vbs\abc.123\")
' → 123

一時ファイル名(フォルダ名)を生成する(GetTempName メソッド)

ランダムに生成された一時ファイル名を取得するには GetTempName メソッドを使う。
取得した名前はフォルダ名としても使用できる。

WScript.Echo fso.GetTempName()
' → radCAA7A.tmp

アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事