FSO.GetDriveNameゲットドライブネーム メソッド

本ページには広告が含まれています。

指定したパスのドライブ名を返します。パスが存在しなくてもエラーは発生しません。取得に失敗した場合は空文字を返します。

ドライブレターを取得するにはDrive.DriveLetter プロパティを使います。

構文
FileSystemObject.GetDriveName( path )
引数
path 省略可
ドライブ名を含むパス
戻り値
ドライブ名を表す文字列。ドライブ名として認識できない場合は空文字を返します。

使い方

ユーザーフォルダがあるドライブ名を取得。

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")

PRINT FSO.GetDriveName("C:\Users\")
結果
プレーンテキスト
C:

Windowsのシステムフォルダを表す環境変数からドライブ名を取得します。環境変数は展開されないためDOSCMD関数で展開します。%windir%は一般的にC:\WINDOWSにあります。

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")

PRINT FSO.GetDriveName(DOSCMD("echo %windir%"))
結果
プレーンテキスト
C:

存在しないドライブのパスを指定しても、パス文字列として認識できればドライブ名を返します。D:\Users\は存在しないパスです。

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM folderspec = "D:\Users\"

PRINT FSO.FolderExists(folderspec)
PRINT FSO.GetDriveName(folderspec)
結果
プレーンテキスト
False
D:

特殊フォルダ(デスクトップ)のパスからドライブ名を取得します。

UWSC
CONST ssfDesktop = 0

DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")

PRINT FSO.GetDriveName(Shell.NameSpace(ssfDesktop).Self.Path)
結果
プレーンテキスト
D:

パス文字列として認識できない場合は、空文字を返します。

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")

PRINT FSO.GetDriveName("Desktop\sample\")

プログラム実行例

ドライブ名を取得

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM path = "D:\Desktop\sample.txt"

PRINT FSO.GetDriveName(path)
結果
プレーンテキスト
D:
使用関数

カレントディレクトリのドライブ文字を取得

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drive = FSO.GetDrive(FSO.GetDriveName(GET_CUR_DIR))

PRINT Drive.DriveLetter
結果
プレーンテキスト
C
使用関数
解説