[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] VBS如何取得文件的产品版本情报?

一个dll或者exe文件,有文件版本和产品版本两种情报,
文件版本情报我会取得,产品版本应该怎么取呢?有高手指教下.

本帖最后由 lxzzr 于 2011-5-4 19:51 编辑
  1. '获取C:\MyFolder中每个文件的文件版本和产品版本
  2. Set objShell = CreateObject ("Shell.Application")
  3. Set objFolder = objShell.Namespace ("C:\MyFolder")
  4. Dim arrHeaders(300)
  5. For i = 0 to 300
  6.         arrHeaders(i) = objFolder.GetDetailsOf (objFolder.Items, i)
  7. Next
  8. For Each strFileName in objFolder.Items
  9.         Wscript.echo strFileName & ": "
  10.         For i = 0 to 300
  11.                 If i = 156 then
  12.                         Wscript.echo arrHeaders(i) & ": " & objFolder.GetDetailsOf (strFileName, i)
  13.                 End If
  14.                 If i = 271 then
  15.                         Wscript.echo arrHeaders(i) & ": " & objFolder.GetDetailsOf (strFileName, i)
  16.                 End If
  17.         Next
  18. Next
  19. WScript.Sleep 5000
复制代码

TOP

非常感谢大大的指教.经过测试,发现这个方法好使.不过有一点注意的是,文件属性的顺序和系统有关.产品版本和文件版本的编号不一定是271和156

TOP

有一个问题,因为木马原因,很多机器会禁用Shell.Application。那就无法采用一楼的方法了,还有其他方法能实现吗?

TOP

if arrHeaders(i) = 产品版本 ?

"有一个问题,因为木马原因,很多机器会禁用Shell.Application。那就无法采用一楼的方法了,还有其他方法能实现吗?
"
我暂时还没发现,如果你发现了好的方法,教我^_^

TOP

返回列表