如何使用VBScript读取mp4文件的属性

如何使用VBScript读取mp4文件的属性,vbscript,mp4,Vbscript,Mp4,我正在尝试使用VBScript创建我的电影库的数据库,但我不知道如何获取mp4文件的属性。我以不同的方式使用了此代码,用于类似的目的。这是我到目前为止的代码 Option Explicit Dim objFSO,objf,objfolder, objFile, strFileProperties, strFiles,OBJFLD,objfile2 dim objf1,objfile1,objtextfile,strfolderproperties,objsubfld,objfl,objfl1,s

我正在尝试使用VBScript创建我的电影库的数据库,但我不知道如何获取mp4文件的属性。我以不同的方式使用了此代码,用于类似的目的。这是我到目前为止的代码

Option Explicit
Dim objFSO,objf,objfolder, objFile, strFileProperties, strFiles,OBJFLD,objfile2
dim objf1,objfile1,objtextfile,strfolderproperties,objsubfld,objfl,objfl1,strfileproperties2

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objf= objFSO.Getfolder("E:\Share Drive\Chris\Movies")
set OBJfl=objf.files
for each objfl1 in OBJfl
  'display properties of the files of the main folder   
  strFileProperties2 = strFileProperties2 & "Title: " & objfl1.Name & VbCrLf
  strFileProperties2 = strFileProperties2 & "Size: " & objFl1.Size & " bytes" & VbCrLf
  strFileProperties2 = strFileProperties2 & "Type: " & objFl1.Type & VbCrLf & vbcrlf
next

set objf1=objfso.getfolder("C:\")

set objfile1=objfso.getfile( "C:\database.txt")

set objf1=nothing
set objfile1=nothing

set objtextfile=objfso.opentextfile("C:\database.txt",8,true)

objtextfile.writeline(strfileproperties)
objtextfile.writeline(strfileproperties2)
objtextfile.close

set objf1=objfso.getfolder("C:\")

set objfile1=objfso.getfile( "C:\database.txt")

set objf1=nothing
set objfile1=nothing

set objsubfld=objfso.opentextfile("C:\database.txt",8,true)
objsubfld.writeline(strfolderproperties)
objsubfld.close
我想要的其他属性是帧宽度、帧高度和长度。我尝试了
objMp4File.Length
,但是我收到一个错误,说它没有定义。我是VBScript新手,所以可能会走错方向。

试试看

Option Explicit

Dim shellApplication, folderNamespace

    Set shellApplication = CreateObject("Shell.Application")
    Set folderNamespace  = shellApplication.Namespace("E:\Share Drive\Chris\Movies")

Dim headers, i, aHeaders(290)
    For i = 0 to 289
        aHeaders(i) = folderNamespace.GetDetailsOf(folderNamespace.Items, i)
    Next


Dim fileName    
    For Each fileName in folderNamespace.Items
        If LCase(Right(fileName,4))=".mp4" Then 
            For i = 0 to 289
                Wscript.Echo i & vbtab & aHeaders(i) & ": " & folderNamespace.GetDetailsOf(fileName, i)
            Next
            WScript.Echo "-------------------------------------------------------"
        End If
    Next

每种文件的可用属性集可能会有所不同。

这取决于您的操作系统,对于Windows 7,这将起作用,请参阅


谢谢,这正是我需要的。谢谢,这很有帮助。
fname = objFolder.GetDetailsOf(objFolderItem, 155)
size = objFolder.GetDetailsOf(objFolderItem, 1)
ftype = objFolder.GetDetailsOf(objFolderItem, 2)
length = objFolder.GetDetailsOf(objFolderItem, 27)
frameheight = objFolder.GetDetailsOf(objFolderItem, 283)
framewidth = objFolder.GetDetailsOf(objFolderItem, 285)