FSO.GetExtensionName メソッド

タグ: ,

指定したパスの最後のコンポーネントのファイル拡張子名を返します。

構文
FileSystemObject.GetExtensionName( path )
引数
path省略可
パス
戻り値

プログラム実行例

パス名からファイル名・拡張子・ベース名・親フォルダを取得

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

WITH FSO
	PRINT "ファイル名︰" + .GetFileName(path)
	PRINT "ベース名︰" + .GetBaseName(path)
	PRINT "拡張子︰" + .GetExtensionName(path)
	PRINT "親フォルダ︰" + .GetParentFolderName(path)
ENDWITH
    (1) (5) (6) (7) (8)
結果
CSV(区切り文字「︰」)
ファイル名︰   sample.txt
ベース名︰     sample
拡張子︰       txt
親フォルダ︰   D:\Desktop

指定したフォルダ内の拡張子とファイルの種類を返す

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM folderspec = "D:\Desktop\"
DIM Files = FSO.GetFolder(folderspec).Files

FOR File IN Files
	PRINT FSO.GetExtensionName(File.Name) + ":" + File.Type
NEXT
    (1) (3)
  1. FSO.Folder.Files(3)
  2. FSO.Files.Item(5)
  3. (6) (6) (6)

指定フォルダ内の拡張子をすべて小文字にする

UWSC
CONST ssfDESKTOP = 0

DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM folderspec = Shell.NameSpace(ssfDESKTOP).Self.Path
DIM Folder = Shell.NameSpace(folderspec + "\test\")
DIM FolderItems = Folder.Items

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")

FOR FolderItem IN FolderItems
    DIM path = FolderItem.Path
    WITH FSO
        DIM filename1 = .GetParentFolderName(path) + "\" + .GetBaseName(path) + "." + .GetExtensionName(path)
        DIM filename2 = .GetBaseName(path) + "." + STRCONV(.GetExtensionName(path), SC_LOWERCASE)
    ENDWITH
    DOSCMD("RENAME <#DBL>" + filename1 + "<#DBL> <#DBL>" + filename2 + "<#DBL>")
NEXT
    (3,8) (4,5)
  1. Shell.Folder2.Self.Path(4)
  2. (6) (11) (13) (13,14) (13,14) (16)
解説
  1. 3行目
    UWSC
    DIM Shell = CREATEOLEOBJ("Shell.Application")
    Shellオブジェクトを生成し、 Shell に代入します。
  2. 4行目
    UWSC
    DIM folderspec = Shell.NameSpace(ssfDESKTOP).Self.Path
    デスクトップのパスを取得。
  3. 5行目
    UWSC
    DIM Folder = Shell.NameSpace(folderspec + "\test\")
    「デスクトップ\test\」のFolder オブジェクトを取得。
  4. 6行目
    UWSC
    DIM FolderItems = Folder.Items
    フォルダ内のアイテムを FolderItems に代入。
  5. 8行目
    UWSC
    DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
    FileSystemObjectオブジェクトを生成し、 FSO に代入します。
  6. 10-17行目
    UWSC
    FOR FolderItem IN FolderItems
        DIM path = FolderItem.Path
        WITH FSO
            DIM filename1 = .GetParentFolderName(path) + "\" + .GetBaseName(path) + "." + .GetExtensionName(path)
            DIM filename2 = .GetBaseName(path) + "." + STRCONV(.GetExtensionName(path), SC_LOWERCASE)
        ENDWITH
        DOSCMD("RENAME <#DBL>" + filename1 + "<#DBL> <#DBL>" + filename2 + "<#DBL>")
    NEXT

関連記事

IE.Navigate メソッド
URLまたは絶対パスで指定されたファイルを開きます。
IE.Path プロパティ
Internet Explorer実行ファイルのシステムフォルダを取得します。
Shell.Explore メソッド
指定したディレクトリをエクスプローラで開きます。
FSO.BuildPath メソッド
フォルダパスとフォルダまたはファイルの名前を結合したパス文字列を返します。
File.Path プロパティ (FSO)
指定したファイルのパスを返します。
getBitmap (自作関数)
引数に指定したビットマップ画像のサイズ・幅・高さ・ビットの深さを配列で返します。
Location.pathname プロパティ (DOM)
パス名を取得します。