【ファイル・フォルダ情報取得(VBS版)】


ファイル・フォルダ情報

プロパティ一覧

  • ファイル情報(File オブジェクト)
プロパティ名 説明 データ型 Get/Set 出力例
Name ファイル名 vbString 文字列型 Get/Set 03 Ride Featuring Tony Matterhorn.MP3
Size ファイルサイズ vbLong 長整数型 (Long) Get 4286923
Type ファイル種類 vbString 文字列型 Get MPEG layer 3
Drive ファイル格納先ドライブ vbString 文字列型 Get Z:
Path ファイルパス vbString 文字列型 Get Z:\300_Musics\200_DanceHall\Artist\Alaine\Sacrifice\03 Ride Featuring Tony Matterhorn.MP3
ParentFolder 親フォルダ vbString 文字列型 Get Z:\300_Musics\200_DanceHall\Artist\Alaine\Sacrifice
ShortName MS-DOS形式ファイル名 vbString 文字列型 Get 03 Ride Featuring Tony Matterhorn.MP3
ShortPath MS-DOS形式パス vbString 文字列型 Get Z:\300_Musics\200_DanceHall\Artist\Alaine\Sacrifice\03 Ride Featuring Tony Matterhorn.MP3
DateCreated 作成日時 vbDate 日付型 (Date) Get 2015/08/19 0:54:45
DateLastAccessed アクセス日時 vbDate 日付型 (Date) Get 2016/10/14 6:00:30
DateLastModified 更新日時 vbDate 日付型 (Date) Get 2016/10/14 6:00:30
Attributes 属性 vbLong 長整数型 (Long) (※) 32

  • フォルダ情報(Folder オブジェクト)
プロパティ名 説明 データ型 Get/Set 出力例
Name フォルダ名 vbString 文字列型 Get/Set Sacrifice
Size フォルダサイズ vbLong 長整数型 (Long) Get 80613775
Type ファイル種類 vbString 文字列型 Get ファイル フォルダー
Drive ファイル格納先ドライブ vbString 文字列型 Get Z:
Path フォルダパス vbString 文字列型 Get Z:\300_Musics\200_DanceHall\Artist\Alaine\Sacrifice
IsRootFolder ルート フォルダ vbBoolean ブール型 (Boolean) Get False
ShortName MS-DOS形式ファイル名 vbString 文字列型 Get Sacrifice
ShortPath MS-DOS形式パス vbString 文字列型 Get Z:\300_Musics\200_DanceHall\Artist\Alaine\Sacrifice
DateCreated 作成日時 vbDate 日付型 (Date) Get 2015/08/19 0:54:44
DateLastAccessed アクセス日時 vbDate 日付型 (Date) Get 2015/08/19 0:54:44
DateLastModified 更新日時 vbDate 日付型 (Date) Get 2015/04/18 3:38:36
Attributes 属性 vbLong 長整数型 (Long) (※) 16

  • 属性(※)
属性名 説明 Get/Set(※) ビット
ReadOnly 読み取り専用ファイル Get/Set 1(0b00000001)
Hidden 隠しファイル Get/Set 2(0b00000010)
System システム・ファイル Get/Set 4(0b00000100)
Volume ディスクドライブ・ボリューム・ラベル Get 8(0b00001000)
Directory フォルダ/ディレクトリ Get 16(0b00010000)
Archive 前回のバックアップ以降に変更されていれば1 Get/Set 32(0b00100000)
Alias リンク/ショートカット Get 64(0b01000000)
Compressed 圧縮ファイル Get 128(0b10000000)

実行例

Sub test()
    Dim sDirPath 
    Dim sFileName
    Dim sFilePath
    sDirPath = "Z:\300_Musics\200_Reggae@Jamaica\Artist\Alaine\Sacrifice"
    sFileName = "03 Ride Featuring Tony Matterhorn.MP3"
    sFilePath = sDirPath & "\" & sFileName
 
    Dim objFSO
    Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
 
    Dim sBuf
    sBuf = ""
 
    '=====================================================
    ' ファイル情報
    '=====================================================
    Dim objFile
    Set objFile = objFSO.GetFile(sFilePath)
    sBuf = sBuf & vbNewLine &  "***ファイル情報***"
    sBuf = sBuf & vbNewLine &  "【ファイル名】" & objFile.Name
    sBuf = sBuf & vbNewLine &  "【ファイルサイズ】" & objFile.Size
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  ""
 
    '=====================================================
    ' フォルダ情報
    '=====================================================
    Dim objFolder
    Set objFolder = objFSO.GetFolder(sDirPath)
    sBuf = sBuf & vbNewLine &  "***フォルダ情報***"
    sBuf = sBuf & vbNewLine &  "【フォルダ名】" & objFolder.Name
    sBuf = sBuf & vbNewLine &  "【フォルダサイズ】" & objFolder.Size
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  ""
 
    MsgBox sBuf
 
    '=====================================================
    ' トラック情報
    '=====================================================
    Set objFolder = WScript.CreateObject("Shell.Application").Namespace(sDirPath & "\")
 
    '特定ファイルを対象とする場合
    Set objFile = objFolder.ParseName(sFileName)    'ファイル名取り出し
    sBuf = sBuf & vbNewLine &  "【ファイルサイズ】" & objFolder.GetDetailsOf(objFile, 1)   '⇒ ファイルサイズ:4.08 MB(ファイルサイズ)
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  "・"
    sBuf = sBuf & vbNewLine &  ""
 
    'フォルダ内すべてのファイルを対象とする場合
    For Each objFile In objFolder.Items
        sBuf = sBuf & vbNewLine &  "【ファイルサイズ】" & objFolder.GetDetailsOf(objFile, 1)   '⇒ ファイルサイズ:4.08 MB(ファイルサイズ)
        sBuf = sBuf & vbNewLine &  "・"
        sBuf = sBuf & vbNewLine &  "・"
        sBuf = sBuf & vbNewLine &  "・"
    Next
 
    MsgBox sBuf
 
    Set objFSO = Nothing
    Set objFolder = Nothing
    Set objFile = Nothing
End Sub
 

トラック情報(GetDetailsOf)

プロパティ
プロパティはOSのバージョンによって異なる。以下のコードで取得する。

第二引数 説明 データ型 出力例
1 ファイルサイズ vbString 文字列型 4.08 MB
2 ファイルの種類 vbString 文字列型 MPEG layer 3
3 更新日時 vbString 文字列型 2016/10/14 6:00

プロパティ情報取得コード

'GetDetailsOf()の詳細情報(要素番号、タイトル情報、型名、データ)を取得する
Public Sub GetDetailsOfGetDetailsOf()
    Dim sTrgtFolderPath
    Dim sTrgtFileNameg
    Dim sLogFilePath
    sTrgtFolderPath = "Z:\300_Musics\200_Reggae@Jamaica\Artist\Alaine\Sacrifice"
    sTrgtFileName = "03 Ride Featuring Tony Matterhorn.MP3"
    sLogFilePath = WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\track_title_names.txt"
 
    Dim objFolder
    Set objFolder = WScript.CreateObject("Shell.Application").Namespace(sTrgtFolderPath & "\")
    Dim objFile
    Set objFile = objFolder.ParseName(sTrgtFileName)
 
    Dim objTxtFile
    Set objTxtFile = WScript.CreateObject("Scripting.FileSystemObject").OpenTextFile(sLogFilePath, 2, True)
    objTxtFile.WriteLine "[Idx] " & Chr(9) & "[TypeName]" & Chr(9) & "[Title]"
    Dim i
    For i = 0 To 400
        objTxtFile.WriteLine _
            i & Chr(9) & _
            TypeName(objFolder.GetDetailsOf(objFile, i)) & Chr(9) & _
            objFolder.GetDetailsOf("", i)
    Next
    objTxtFile.Close
End Sub
 

最終更新:2017年03月21日 10:56