Scripting 如何编写VB脚本来搜索文件并显示其版本信息?

Scripting 如何编写VB脚本来搜索文件并显示其版本信息?,scripting,vbscript,Scripting,Vbscript,我正在尝试创建一个vb脚本,允许我搜索目录和子目录中的文件,获取其位置和版本信息 该文件可以是.dll或.exe之类的任何文件 在命令提示符下,我可以使用:dir/s/bc:(filename)搜索文件 如何结合这两个要求 有办法做到这一点吗 这里有一个例子,枚举文件夹及其子文件夹,并从exe文件中获取文件版本,请注意,这是产品版本以外的其他内容 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = obj

我正在尝试创建一个vb脚本,允许我搜索目录和子目录中的文件,获取其位置和版本信息

该文件可以是.dll或.exe之类的任何文件

在命令提示符下,我可以使用:dir/s/bc:(filename)搜索文件

如何结合这两个要求


有办法做到这一点吗

这里有一个例子,枚举文件夹及其子文件夹,并从exe文件中获取文件版本,请注意,这是产品版本以外的其他内容

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\windows")
Set colFiles = objFolder.Files

enum_files colFiles
For Each objFolder in objFolder.Subfolders
  Set colFiles = objFolder.Files
  enum_files colFiles
Next

Sub enum_files (colFiles)
  For Each objFile in colFiles
    if lCase(objFSO.GetExtensionName(objFile)) = "exe" then
      Wscript.Echo objFile.path & " " & objFSO.GetFileVersion(objFile.path)
    end if
  Next
End sub

“外壳”标签已移除。阅读标签维基谢谢,这真的很接近。有没有办法只声明驱动器c:\并搜索calc.exe并提取其版本?当然,这里有所有元素,因为start calc.exe位于c:\windows(第2行)下,所以您只需签入enum_文件,如果objFile.name=“calc.exe”但是在像c:\windows这样的文件夹中,存在安全问题,因此需要进行错误捕获