WinBatch Utility for Keeping Track of the
Versions of Specified Filetypes
Keywords: fileverinfo
;**************************************************************************
;FILEVER32 utility for recording the versions of specified filetypes into
;a text file. Written by Ed Tippelt, 100115.3301@compuserve.com.
;Uses the Winbatch SEARCHER extender, so only works in 32 bit environments
;It has been found that the FileVerInfo command requires more than one
;language argument in order to return valid file and product information,
;and so far, four sets of language arguments have been identified in actual
;files.
;The text file produced by this program can be directly imported by MS Access
;and the results then sorted to suit your requirements.
;Requires the main Winbatch DLL to be 2.3gbn or later,(patch to Winbatch 96F),
;as previous versions have a memory leak in the FileVerInfo command.
;**************************************************************************
Sounds(0)
AddExtender("wsrch34I.dll")
lang1="040904E4"
lang2="040904B0"
lang3="000004E4"
lang4="04090000"
langcount=4
FileVer32Format=`WWWDLGED,5.0`
FileVer32Caption=`File Version Utility`
FileVer32X=50
FileVer32Y=83
FileVer32Width=292
FileVer32Height=146
FileVer32NumControls=8
FileVer3201=`16,24,96,DEFAULT,STATICTEXT,DEFAULT,"Starting Drive and Directory:"`
FileVer3202=`26,52,86,DEFAULT,STATICTEXT,DEFAULT,"File Extension to look for:"`
FileVer3203=`10,80,102,DEFAULT,STATICTEXT,DEFAULT,"File and path for search result:"`
FileVer3204=`126,24,148,DEFAULT,EDITBOX,Drive,"C:\"`
FileVer3205=`126,52,64,DEFAULT,EDITBOX,Extension,"*.DLL"`
FileVer3206=`126,80,148,DEFAULT,EDITBOX,outfile,"C:\TEMP\FILEVER.TXT"`
FileVer3207=`36,122,126,DEFAULT,PUSHBUTTON,DEFAULT,"OK",1`
FileVer3208=`184,122,64,DEFAULT,PUSHBUTTON,DEFAULT,"CANCEL",0`
ButtonPushed=Dialog("FileVer32")
;check for existing outfile
If FileExist(outfile) then FileDelete(outfile)
fh=FileOpen(outfile,"WRITE")
Edcount=0
BoxOpen("Checking %Drive% drive","")
If StrSub(Drive,StrLen(Drive),1)!= "\" Then Drive=StrCat(Drive,"\")
handle=srchInit(Drive,Extension,"",0,16)
:start
Edfile=srchNext(handle)
if Edfile=="" then goto finish
Edcount=Edcount+1
pos=StrIndex(Edfile,"\",0,@backscan)+1
filename=StrSub(Edfile,pos,-1)
dd=FileYmdHms(Edfile)
ss=FileSize(Edfile)
ErrorMode(@OFF)
zz=1
:loop
lang=lang%zz%
pv=FileVerInfo(Edfile,lang,"ProductVersion")
if pv!="0" then goto nextp
zz=zz+1
if zz<=langcount then goto loop
if pv=="0" then pv="None"
:nextp fv=FileVerInfo(Edfile,lang,"FileVersion")
if fv=="0" then fv="None"
ErrorMode(@Cancel)
ee=strfix(Edcount," ",6)
dd=strfix(dd," ",20)
ss=strfix(ss," ",10)
pv=strfix(pv," ",14)
fv=strfix(fv," ",14)
filename=strfix(filename," ",20)
line=strcat(ee,filename,pv,fv,dd,ss,Edfile)
FileWrite(fh,line)
BoxText(line)
goto start
:finish
srchFree(handle)
Message("File Search complete","Result in %outfile%")
FileClose(fh)
Exit
:cancel
display(2,"File Version Utility","Program Cancelled")
Exit
Article ID: W13787
Filename: Keep Track of File versions Utility.txt