Войти

Показать полную графическую версию : [решено] WMIC получении версии файла. Win7 и XP разные результаты


gora
13-04-2012, 20:08
Столкнулся с проблемой получения версии файла.@Echo Off
Set texe=c:\Program Files\7-Zip\7z.exe
WMIC datafile where name='%texe:\=\\%' get version>verEXE.txt
Type verEXE.txt
Pause>Nul
На Win 7 имеем:Version
9.25.0.0
На Win XP имеем:Version
9.25 alpha
Т.о. читаются разные строки из ресурсов. На Win7 это числовой параметр FileVersion, а на XP его строковый аналог.
Можно заставить WMIC и на Win XP выводить числовой параметр FileVersion или есть другие варианты получения этого значения без применения сторонних утилит?

Morpheus
13-04-2012, 23:06
'filever.vbs

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
if objArgs.Count<>1 then WScript.Quit()
if NOT fso.FileExists(objArgs(0)) then WScript.Quit()
WScript.Echo fso.GetFileVersion(objArgs(0))

to call the script just use
cscript -nologo filever.vbs "c:\WINNT\system32\notepad.exe"
Batch files - Check file versions - MSFN Forum (http://www.msfn.org/board/topic/97950-batch-files-check-file-versions/)




© OSzone.net 2001-2012