本ページには広告が含まれています。
指定したパスのドライブ名を返します。パスが存在しなくてもエラーは発生しません。取得に失敗した場合は空文字を返します。
ドライブレターを取得するにはDrive.DriveLetter プロパティを使います。
- 構文
- FileSystemObject.GetDriveName( path )
- 引数
- path 省略可
- ドライブ名を含むパス
- 戻り値
- ドライブ名を表す文字列。ドライブ名として認識できない場合は空文字を返します。
使い方
ユーザーフォルダがあるドライブ名を取得。
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
PRINT FSO.GetDriveName("C:\Users\")
- 結果
C:
Windowsのシステムフォルダを表す環境変数からドライブ名を取得します。環境変数は展開されないためDOSCMD関数で展開します。%windir%は一般的にC:\WINDOWSにあります。
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
PRINT FSO.GetDriveName(DOSCMD("echo %windir%"))
- 結果
C:
存在しないドライブのパスを指定しても、パス文字列として認識できればドライブ名を返します。D:\Users\は存在しないパスです。
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM folderspec = "D:\Users\"
PRINT FSO.FolderExists(folderspec)
PRINT FSO.GetDriveName(folderspec)
- 結果
False D:
特殊フォルダ(デスクトップ)のパスからドライブ名を取得します。
CONST ssfDesktop = 0
DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
PRINT FSO.GetDriveName(Shell.NameSpace(ssfDesktop).Self.Path)
- 結果
D:
パス文字列として認識できない場合は、空文字を返します。
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
PRINT FSO.GetDriveName("Desktop\sample\")
プログラム実行例
ドライブ名を取得
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM path = "D:\Desktop\sample.txt"
PRINT FSO.GetDriveName(path)
結果
D:
使用関数
カレントディレクトリのドライブ文字を取得
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drive = FSO.GetDrive(FSO.GetDriveName(GET_CUR_DIR))
PRINT Drive.DriveLetter
結果
C
使用関数
解説