标题: 提取文件版本信息(版本号)
[打印本页]
作者: mandyonly
时间: 2007-6-7 16:08
标题: 提取文件版本信息(版本号)
请问:如何将windows文件夹中的文件名称和版本号用命令行提取出来,并存到一个txt文件中?文件大都是.exe,.dll格式。多谢。
不一定一定要用批处理,用其他语言也可以,能不能给出例子呢?谢谢.
[
Last edited by mandyonly on 2007-6-7 at 04:27 PM ]
作者: zh159
时间: 2007-6-7 16:19
批处理提取版本号估计没戏,VBS以前试过可以,不过现在忘了
作者: yong119
时间: 2007-6-7 16:41
wmic datafile where "Name='c:\\windows\\explorer.exe'" get Manufacturer,Version,Filename
作者: mandyonly
时间: 2007-6-7 16:47
这时用什么语言写的?
作者: wudixin96
时间: 2007-6-7 17:05
wmic datafile where "Name='c:\\windows\\explorer.exe'" get Manufacturer,Version,Filename
是P啊?
作者: zh159
时间: 2007-6-7 17:12
wmic不错
作者: mandyonly
时间: 2007-6-7 17:13
如果文件是多个,存在一个文件夹中,我要提取的是文件夹中的所有的文件名和版本,而不是5楼说的具体的一个文件名,该怎么办呢?
作者: HAT
时间: 2007-6-7 17:33
//我要提取的是文件夹中的所有的文件名和版本
@echo off
set Target=C:\\test
cd %Target%
for %%i in (*.*) do (
rem echo %%i
wmic datafile where "Name='%Target%\\%%i'" get Manufacturer,Version,Filename
)
作者: mandyonly
时间: 2007-6-7 18:02
多谢!
作者: lxmxn
时间: 2007-6-8 02:12
标题: 我也来玩玩
wmic /output:result.log datafile where "Path='\\windows\\system32\\' and Drive='C:' and (Extension='dll' or Extension='exe')" get Manufacturer,Version,Caption
运行时间可能稍长点,耐心等待。。
作者: zh159
时间: 2007-6-9 22:19
VBS的,只提取有版本号的“应用程序”(exe)、“应用程序扩展”(dll)
Path = "C:\windows"
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(Path)
For Each strFileName in objFolder.Items
name = objFolder.GetDetailsOf(strFileName, 0)
Extension = objFolder.GetDetailsOf(strFileName, 2)
ver = objFolder.GetDetailsOf(strFileName, 37)
If not ver = "" Then
If Extension = "应用程序" Then
str = str & name & ".exe:" & ver & vbCrLf
Else
If Extension = "应用程序扩展" Then str = str & name & ":" & ver & vbCrLf
End If
End If
Next
Set fW = fso.OpenTextFile("result.log", 2, True)
fW.WriteLine str
fW.close
所有的“应用程序”(exe)、“应用程序扩展”(dll)都提取
Path = "C:\windows"
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(Path)
For Each strFileName in objFolder.Items
name = objFolder.GetDetailsOf(strFileName, 0)
Extension = objFolder.GetDetailsOf(strFileName, 2)
ver = objFolder.GetDetailsOf(strFileName, 37)
If Extension = "应用程序" Then
str = str & name & ".exe:" & ver & vbCrLf
Else
If Extension = "应用程序扩展" Then str = str & name & ":" & ver & vbCrLf
End If
Next
Set fW = fso.OpenTextFile("result.log", 2, True)
fW.WriteLine str
fW.close
[
Last edited by zh159 on 2007-6-9 at 10:21 PM ]
作者: benteng302
时间: 2007-6-10 08:07
哦,好东东亚。
作者: wbshu
时间: 2007-7-6 10:42
要这么麻烦吗?
用"filever /v filename" 命令就可以得到一个文件的版本信息.
作者: lxmxn
时间: 2007-7-6 10:46
filever 是个三方工具?
作者: zh159
时间: 2007-7-6 11:57
Quote: |
Originally posted by wbshu at 2007-7-6 10:42:
要这么麻烦吗?
用"filever /v filename" 命令就可以得到一个文件的版本信息. |
|
Quote: |
C:\>filever/?
'filever' 不是内部或外部命令,也不是可运行的程序
或批处理文件。 |
|
作者: wbshu
时间: 2007-7-7 15:11
是微软工具包里的工具,我也是最近知道的.搜索一下就能找到,(我不会上传附件).
作者: qinbuer
时间: 2007-7-7 15:39
filever集成在Windows XP Service Pack 2 Support Tools中,可在华军或者微软官方下载:
http://www.onlinedown.net/soft/21532.htm
http://www.microsoft.com/downloa ... &displaylang=en
作者: sonicandy
时间: 2008-5-24 23:02
好帖要顶,今天用到了,呵呵.
作者: joyoustar
时间: 2009-1-14 16:29
Quote: |
Originally posted by qinbuer at 2007-7-7 03:39 PM:
filever集成在Windows XP Service Pack 2 Support Tools中,可在华军或者微软官方下载:
http://www.onlinedown.net/soft/21532.htm
[url]http://www.microsoft.com/downloads/de ... |
|
谢谢了!!