找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22947|回复: 4

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

[复制链接]
发表于 2011-5-4 14:19:57 | 显示全部楼层 |阅读模式
一个dll或者exe文件,有文件版本和产品版本两种情报,
文件版本情报我会取得,产品版本应该怎么取呢?有高手指教下.
发表于 2011-5-4 19:10:25 | 显示全部楼层
本帖最后由 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
复制代码
 楼主| 发表于 2011-5-5 14:33:06 | 显示全部楼层
非常感谢大大的指教.经过测试,发现这个方法好使.不过有一点注意的是,文件属性的顺序和系统有关.产品版本和文件版本的编号不一定是271和156
 楼主| 发表于 2011-5-5 17:05:01 | 显示全部楼层
有一个问题,因为木马原因,很多机器会禁用Shell.Application。那就无法采用一楼的方法了,还有其他方法能实现吗?
发表于 2011-5-5 17:27:09 | 显示全部楼层
if arrHeaders(i) = 产品版本 ?

"有一个问题,因为木马原因,很多机器会禁用Shell.Application。那就无法采用一楼的方法了,还有其他方法能实现吗?
"
我暂时还没发现,如果你发现了好的方法,教我^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:49 , Processed in 0.017582 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表