Vbscript 使用VBS获取文档属性

Vbscript 使用VBS获取文档属性,vbscript,filesystemobject,Vbscript,Filesystemobject,我有一个包含几个文件的文件夹。 我想为每个文件获取一个列表,列出分配给该文件的所有属性及其值 我已经写了这几行,但我无法确定占位符MethodiamLookfor1(获取指定的属性列表)、MethodiamLookfor2(获取属性名称)和MethodiamLookfor3(获取属性值)中使用的正确方法: 你能帮忙吗? 谢谢 我不记得VBScript具有可用于枚举文件属性的属性。VB6包含允许该操作的FileInfo对象 使用VBScript,您需要指定所需的每个属性。上列出了文件属性。我不记得

我有一个包含几个文件的文件夹。 我想为每个文件获取一个列表,列出分配给该文件的所有属性及其值

我已经写了这几行,但我无法确定占位符MethodiamLookfor1(获取指定的属性列表)、MethodiamLookfor2(获取属性名称)和MethodiamLookfor3(获取属性值)中使用的正确方法:

你能帮忙吗?
谢谢

我不记得VBScript具有可用于枚举文件属性的属性。VB6包含允许该操作的FileInfo对象


使用VBScript,您需要指定所需的每个属性。上列出了文件属性。

我不记得VBScript具有可用于枚举文件属性的属性。VB6包含允许该操作的FileInfo对象

使用VBScript,您需要指定所需的每个属性。文件属性列在上。

源代码

忽略VBA关键字,因为它可以轻松转换为VBScript。见下文

Dim fso
Dim txtStream
Dim sFile
Dim oShell

Set oShell = CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oDir
Set oDir = oShell.Namespace(pathToFolder)
Set txtStream = fso.OpenTextFile(pathToTextFile, 2, True, -2)

For Each sFile In oDir.Items
    For i = 0 To 40
       txtStream.WriteLine i & " : " & oDir.GetDetailsOf(oDir.Items, i) & " : " & oDir.GetDetailsOf(sFile, i)
    Next
Next
代码来自

忽略VBA关键字,因为它可以轻松转换为VBScript。见下文

Dim fso
Dim txtStream
Dim sFile
Dim oShell

Set oShell = CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oDir
Set oDir = oShell.Namespace(pathToFolder)
Set txtStream = fso.OpenTextFile(pathToTextFile, 2, True, -2)

For Each sFile In oDir.Items
    For i = 0 To 40
       txtStream.WriteLine i & " : " & oDir.GetDetailsOf(oDir.Items, i) & " : " & oDir.GetDetailsOf(sFile, i)
    Next
Next

谢谢,我已经使用了您指示的GetDetails指令,并修改了我的代码以使用输入

因此,最后的方法是:

  • MethodiamLookfor1==>GetDetailsOf(objDir.Items,i)
  • MethodiamLookfor2==>GetDetailsOf(objDir.Items,i)
  • MethodiaLookingFor3==>GetDetailsOf(strFileName,i)
我添加了一个vbtab来增强输出,结果如下:


非常感谢您的支持

谢谢,我已经使用了您指示的GetDetails指令,并修改了我的代码以使用输入

因此,最后的方法是:

  • MethodiamLookfor1==>GetDetailsOf(objDir.Items,i)
  • MethodiamLookfor2==>GetDetailsOf(objDir.Items,i)
  • MethodiaLookingFor3==>GetDetailsOf(strFileName,i)
我添加了一个vbtab来增强输出,结果如下:


非常感谢您的支持

看看这篇帖子:@Sorceri你知道VBA和VBScript之间的区别,对吗?@Lankymart你确实意识到它可以很容易地转换为VBScript工作…对吗?…@Sorceri不,真的,你会认为我知道VBScript有70多个答案。哎呀。问题的关键是,为什么要让一个可能不知道差异的Excel VBA问题的人直接使用代码呢?看看这篇文章:@Sorceri你知道VBA和VBScript的区别吗?@Lankymart你知道它可以很容易地转换为VBScript工作…对吗?…@Sorceri不,真的,你可能认为我会知道,在VBScript中有超过70个答案。哎呀。问题的关键是,为什么要让一个可能不知道差异的Excel VBA问题的人直接使用代码呢?感谢解释链接的努力。感谢解释链接的努力。“Dim listProperties(10)”行中数组的减速在脚本中没有任何作用。对于下一个循环,脚本结果中没有任何好处。删除这4行。第“Dim listProperties(10)”行中数组的减速在脚本中不起任何作用。对于下一个循环,脚本结果中没有任何好处。拆下这4条线。
Dim sFolder
sFolder = "C:\Batch_DEV\to"

Set objShell = CreateObject("Shell.Application")
Set objDir = objShell.Namespace(sFolder)

For Each strFileName in objDir.Items
    Wscript.Echo objDir.GetDetailsOf(strFileName, 0) & ":"
    For i = 0 To 10
        Wscript.Echo  vbtab & "property name is: " & objDir.GetDetailsOf(objDir.Items, i)
        Wscript.Echo  vbtab & "property value is: " & objDir.GetDetailsOf(strFileName, i)
    Next
Next
test.txt:
         property name is: Nome
         property value is: test.txt
         property name is: Dimensione
         property value is: 351 byte
         property name is: Tipo elemento
         property value is: File TXT
         property name is: Ultima modifica
         property value is: 23/12/2015 14:34
         property name is: Data creazione
         property value is: 29/12/2015 09:30
         property name is: Data ultimo accesso
         property value is: 29/12/2015 09:30 word 
sample.docx:
         property name is: Nome
         property value is: word sample.docx
         property name is: Dimensione
         property value is: 11,1 KB
         property name is: Tipo elemento
         property value is: Documento di Microsoft Word
         property name is: Ultima modifica
         property value is: 10/12/2015 16:24
         property name is: Data creazione
         property value is: 29/12/2015 09:31
         property name is: Data ultimo accesso
         property value is: 29/12/2015 09:31