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
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。
この記事にコメントをしてみませんか?