获取文件的版本信息|如何用dos命令查看windows中exe文件的版本信息

|

A. c++ 获取文件版本信息

c++ 获取文件版本信息文件信息结构描述:struct VS_FIXEDFILEINFO { DWORD dwSignature; //=0xFEEFO4BD DWORD dwStrucVersion; //该结构的版本信息,分高低版本 DWORD dwFileVersionMS; //主文件版本 DWORD dwFileVersionLS; //次文件版本 DWORD dwProctVersionMS; //主产品版本 DWORD dwProctVersionLS; //次产品版本 DWORD dwFileFlagsMask; //文件标志掩码 DWORD dwFileFlags; //文件标志(是否包含调试版本,动态版本结构…) DWORD dwFileOS; //文件原定的操作系统(VOS_DOS,VOS_NT,VOS__WINDOWS16…) DWORD dwFileType; //文件类型(VFT_UNKNOWN,VFT_APP,VFT_DLL…)DWORD dwFileSubtype; //当dwFileType为VFT_APP或VFT_DLL时该值为0,当为驱动信息VFT_APP或字体信息时该值包含其具体的信息 DWORD dwFileDateMS; //主时间戳 DWORD dwFileDateLS; //次时间戳 };===============================================struct st_Language { WORD wLanguageID; WORD wCodePage;};CString str("D:\\test\\test.exe"); DWORD dwSize = GetFileVersionInfoSize(str,NULL); if(0 == dwSize) return; LPBYTE pBlock = (BYTE*)malloc(dwSize); bool b = GetFileVersionInfo(str,0,dwSize,pBlock); char* pVerValue = NULL; UINT nlen1 = 0; VerQueryValue(pBlock,TEXT("file://VarFileInfo//Translation"), (LPVOID*)&pVerValue,&nlen1); //获取语言 char* pLanValue = NULL; UINT nLen2 = 0; VerQueryValue(pBlock,"VarFileInfo\\Translation",(LPVOID*)&pLanValue,&nLen2); //080404b0为中文 st_Language stlang = *((st_Language *)pLanValue); //获取版本属性 VerQueryValue(pBlock,TEXT("file://%22),(LPVOID*)%26pVerValue,%26nlen1/); VS_FIXEDFILEINFO *pfixfileinfo = (VS_FIXEDFILEINFO *)pVerValue;//修改属性 pfixfileinfo->dwFileVersionLS = 1234; pfixfileinfo->dwFileVersionMS = 4321; pfixfileinfo->dwProctVersionLS = 101; pfixfileinfo->dwProctVersionMS = 1010;//修改资源 HANDLE handle = BeginUpdateResource(str,FALSE); BOOL result = UpdateResource(handle ,RT_VERSION ,MAKEINTRESOURCE(1) ,stlang.wLanguageID ,pBlock ,dwSize); if (result == FALSE) { AfxMessageBox("Updata Resource False."); } EndUpdateResource(handle,FALSE);free(pBlock);

B. 如何用批处理获取exe、dll详细信息里面的文件版本

@EchoOff::.6Set/PFile=请拖入需要获取的EXE(DLL):For%%iIn(%File%)Do(SetExt=%%~xiSetPat=%%~piFor/F%%jIn('WmicDataFileWhere"Drive='%%~di'AndPath='!Pat:=\!'AndExtension='!Ext:~1!'"GetVersion')Do(SetVer=%%j)Echo版本号为:!Ver!)Pause

可能原版来的版权本太复杂了(迟迟不见采纳),这个版本好多了,直接拖进去就行

调用了wmic,第一次运行可能会自动安装,Vista及以上请以管理员身份运行.

C. 如何获取一个文件的版本信息

不是所有文件都一亩磨定皮耐迅有版燃此本信息,只有程序文件可能有版本信息。一般右键属性里查看:

D. 如何获取一个文件的版本信息

获取文件脊携的版本信息厅亏:FileVersionInfo myFileVersionInfo1 = FileVersionInfo.GetVersionInfo(D://扮野神TEST.DLL);textBox1.Text=版本号: + myFileVersion

E. 在bat文件中能不能通过编写代码来获取exe文件的版本信息

@echooffset"file=R:新建文件夹filever.exe"for/f"tokens=5"%%iin('filever.exe/s"%file%"')do(setver=%%i&echo%%i)echo%ver%pause

纯批处理还有没有直接读取exe文件版本的命令.如果真要用批专处理读取exe文件版本可以用 xp安装盘中的filever.exe 工具.批处理调用这个工具可以读取文属件版本信息.filever.exe在附件中

F. 如何用dos命令查看windows中exe文件的版本信息

开始-运行-cmd 回车 键入 ver 回车如果要看某个程序的那就是 开始- 运行 – cmd 回车 程序名 /v 回车

G. vb获取文件版本信息

'引用复 Microsoft scripting runtimeDim fver As StringDim fso As FileSystemObjectSet fso = New FileSystemObjectfver = fso.GetFileVersion("c:\1.exe")'文件路径可以用其制他方法获得MsgBox fver'这里你可以自行用其他方法处理 答案补充 哪里不行,什么错误?'引用 Microsoft scripting runtime了么? 答案补充 是在引用里面,不是部件

H. 如何用dos命令查看windows中exe文件的版本信息

写一个批处理文件,类似于这样:@echooffdir>1.txttype1.txtpause可以把上面代码拷到一个空文本文件中,并保存为"a.bat",点击运行试试。

I. 怎么获取DLL的版本信息

1、首先,找到要查看DLL版本信息的DLL文件。

J. Excel 如何获取及写入文件版本号

利用公式就可以,一般文件版本号都是用括号括起来的比如[]利用find函数查找到[所在的位置,再加1就是版本号第一个数字的位置,再利用mid函数提取出来,如果文件版本号为5468,如:=mid(文件版本号所在的单元格,find("[",文件版本号所在的单元格)+1,大于文件版本号数字个数的值)


赞 (0)