ErrorMode(@OFF) IntControl(29, "@TAB", 0, 0, 0) ; Make backup of result.txt, sysdlls.txt, and exelist.txt backup = FileExist("c:\results.txt") if backup == 1 Display(2, "Versioner Status", "Renaming existing results.txt to results.bak ....") FileRename("c:\results.txt", "c:\results.bak") endif cleanup1 = FileExist("c:\sysdlls.txt") if cleanup1 == 1 Display(2, "Versioner Status", "Renaming existing sysdlls.txt to sysdlls.bak ....") FileRename("c:\sysdlls.txt", "c:\sysdlls.bak") endif cleanup2 = FileExist("c:\exelist.txt") if cleanup2 == 1 Display(2, "Versioner Status", "Renaming existing exelist.txt to exelist.bak ....") FileRename("c:\exelist.txt", "c:\exelist.bak") endif ; Create list of dlls DirChange(DirWindows(1)) dlloutput = FileOpen("c:\sysdlls.txt", "APPEND") dlllist = FileItemize("*.dll") dlllist2 = strreplace(dlllist, @tab, @CRLF) FileWrite(dlloutput, dlllist2) FileClose(dlloutput) ; Create list of exes DirChange(DirWindows(0)) exeoutput = FileOpen("c:\exelist.txt", "APPEND") exelist = FileItemize("*.exe") exelist2 = strreplace(exelist, @tab, @CRLF) FileWrite(exeoutput, exelist2) FileClose(exeoutput) :begin DirChange("c:\") MyDialogFormat=`WWWDLGED,5.0` MyDialogCaption=`Versioner 1.0` MyDialogX=41 MyDialogY=109 MyDialogWidth=71 MyDialogHeight=87 MyDialogNumControls=5 MyDialog01=`4,26,64,DEFAULT,PUSHBUTTON,DEFAULT,"Batch Mode",2` MyDialog02=`4,12,64,DEFAULT,PUSHBUTTON,DEFAULT,"Single Mode",3` MyDialog03=`4,54,64,DEFAULT,PUSHBUTTON,DEFAULT,"About",4` MyDialog04=`4,40,64,DEFAULT,PUSHBUTTON,DEFAULT,"Text Output Only",5` MyDialog05=`4,68,64,DEFAULT,PUSHBUTTON,DEFAULT,"Exit",6` ButtonPushed=Dialog("MyDialog") if ButtonPushed == 6 then Exit endif if ButtonPushed == 4 then goto about endif if ButtonPushed == 5 then goto textmode endif if ButtonPushed == 2 then types = "Text file|*.txt|" file=AskFileName("Select a .txt file for batch mode", "c:\", types, "sysdlls.txt", 1) input = FileOpen(file, "READ") output = FileOpen("c:\results.txt", "APPEND") while @true test = FileRead(input) FileN = FileLocate(test) if test == "*EOF*" then Break comments = FileVerInfo(FileN, "", "Comments") company = FileVerInfo(FileN, "", "CompanyName") description = FileVerInfo(FileN, "", "FileDescription") ver = FileVerInfo(FileN, "", "FileVersion") intname = FileVerInfo(FileN, "", "InternalName") copyright = FileVerInfo(FileN, "", "LegalCopyright") trademarks = FileVerInfo(FileN, "", "LegalTrademarks") orgname = FileVerInfo(FileN, "", "OriginalFilename") prodname = FileVerInfo(FileN, "", "ProductName") prodver = FileVerInfo(FileN, "", "ProductVersion") size = FileSize(FileN) timestamp = FileTimeGet(FileN) ; Ugliness due to no \n functionality in FileWrite() :( a = "FileName: " b = StrCat(a, FileN) FileWrite(output, b) c = "File Size: " d = " bytes" e = StrCat(c, size, d) FileWrite(output, e) f = "Timestamp: " g = StrCat(f, timestamp) FileWrite(output, g) h = "Version: " i = StrCat(h, ver) FileWrite(output, i) j = "Comments: " k = StrCat(j, comments) FileWrite(output, k) l = "Company: " m = StrCat(l, company) FileWrite(output, m) n = "Description: " o = StrCat(n, description) FileWrite(output, o) p = "Intername Name: " q = StrCat(p, intname) FileWrite(output, q) r = "Copyright: " s = StrCat(r, copyright) FileWrite(output, s) t = "Trademarks: " u = StrCat(t, trademarks) FileWrite(output, u) v = "Product Name: " w = StrCat(v, prodname) FileWrite(output, w) FileWrite(output, "-------------------------------------------") MyDialogFormat=`WWWDLGED,5.0` MyDialogCaption=`Versioner` MyDialogX=85 MyDialogY=112 MyDialogWidth=151 MyDialogHeight=208 MyDialogNumControls=26 MyDialog01=`76,20,64,DEFAULT,VARYTEXT,coments,"Comments: "` MyDialog02=`76,6,64,DEFAULT,VARYTEXT,test,"Current File:"` MyDialog03=`76,34,64,DEFAULT,VARYTEXT,company,"Company:"` MyDialog04=`76,48,64,DEFAULT,VARYTEXT,description,"Descripiton:"` MyDialog05=`76,62,64,DEFAULT,VARYTEXT,ver,"Version:"` MyDialog06=`76,76,64,DEFAULT,VARYTEXT,intname,"Internal Name:"` MyDialog07=`76,90,64,DEFAULT,VARYTEXT,copyright,"Copyright:"` MyDialog08=`76,104,64,DEFAULT,VARYTEXT,trademarks,"Trademarks:"` MyDialog09=`76,118,64,DEFAULT,VARYTEXT,orgname,"Original File Name:"` MyDialog10=`76,132,64,DEFAULT,VARYTEXT,prodname,"Product Version:"` MyDialog11=`76,146,64,DEFAULT,VARYTEXT,timestamp,"Timestamp:"` MyDialog12=`40,178,64,DEFAULT,PUSHBUTTON,DEFAULT,"Next",1` MyDialog13=`40,192,64,DEFAULT,PUSHBUTTON,DEFAULT,"Stop",2` MyDialog14=`10,160,64,DEFAULT,VARYTEXT,size,"File Size:"` MyDialog15=`10,6,64,DEFAULT,STATICTEXT,DEFAULT,"Current File:"` MyDialog16=`10,20,64,DEFAULT,STATICTEXT,DEFAULT,"Comments:"` MyDialog17=`76,160,64,DEFAULT,STATICTEXT,DEFAULT,"bytes"` MyDialog18=`10,34,64,DEFAULT,STATICTEXT,DEFAULT,"Company:"` MyDialog19=`10,48,64,DEFAULT,STATICTEXT,DEFAULT,"Description:"` MyDialog20=`10,62,64,DEFAULT,STATICTEXT,DEFAULT,"Version:"` MyDialog21=`10,76,64,DEFAULT,STATICTEXT,DEFAULT,"Internal Name:"` MyDialog22=`10,90,64,DEFAULT,STATICTEXT,DEFAULT,"Copyright:"` MyDialog23=`10,104,64,DEFAULT,STATICTEXT,DEFAULT,"Trademarks:"` MyDialog24=`10,118,64,DEFAULT,STATICTEXT,DEFAULT,"Original Filename"` MyDialog25=`10,132,64,DEFAULT,STATICTEXT,DEFAULT,"Product Version"` MyDialog26=`10,146,64,DEFAULT,STATICTEXT,DEFAULT,"Timestamp"` ButtonPushed=Dialog("MyDialog") if ButtonPushed == 2 then FileClose(input) FileClose(output) Run("notepad.exe", "c:\results.txt") Exit endif endwhile FileClose(input) FileClose(output) Message("Versioner 1.0 Status", "Done. Output saved to results.txt") Run("notepad.exe", "c:\results.txt") Exit else types = "EXEs|*.exe|DLLS|*.dll|" file=AskFileName("Select a .exe or .dll for single mode", "c:\", types,"filename.exe", 1) FileN = FileLocate(file) comments = FileVerInfo(FileN, "", "Comments") company = FileVerInfo(FileN, "", "CompanyName") description = FileVerInfo(FileN, "", "FileDescription") ver = FileVerInfo(FileN, "", "FileVersion") intname = FileVerInfo(FileN, "", "InternalName") copyright = FileVerInfo(FileN, "", "LegalCopyright") trademarks = FileVerInfo(FileN, "", "LegalTrademarks") orgname = FileVerInfo(FileN, "", "OriginalFilename") prodname = FileVerInfo(FileN, "", "ProductName") prodver = FileVerInfo(FileN, "", "ProductVersion") size = FileSize(FileN) timestamp = FileTimeGet(FileN) MyDialogFormat=`WWWDLGED,5.0` MyDialogCaption=`Versioner` MyDialogX=79 MyDialogY=70 MyDialogWidth=150 MyDialogHeight=208 MyDialogNumControls=25 MyDialog01=`76,20,64,DEFAULT,VARYTEXT,coments,"Comments: "` MyDialog02=`76,6,64,DEFAULT,VARYTEXT,test,"Current File:"` MyDialog03=`76,34,64,DEFAULT,VARYTEXT,company,"Company:"` MyDialog04=`76,48,64,DEFAULT,VARYTEXT,description,"Descripiton:"` MyDialog05=`76,62,64,DEFAULT,VARYTEXT,ver,"Version:"` MyDialog06=`76,76,64,DEFAULT,VARYTEXT,intname,"Internal Name:"` MyDialog07=`76,90,64,DEFAULT,VARYTEXT,copyright,"Copyright:"` MyDialog08=`76,104,64,DEFAULT,VARYTEXT,trademarks,"Trademarks:"` MyDialog09=`76,118,64,DEFAULT,VARYTEXT,orgname,"Original File Name:"` MyDialog10=`76,132,64,DEFAULT,VARYTEXT,prodname,"Product Version:"` MyDialog11=`76,146,64,DEFAULT,VARYTEXT,timestamp,"Timestamp:"` MyDialog12=`10,146,64,DEFAULT,STATICTEXT,DEFAULT,"Timestamp"` MyDialog13=`40,192,64,DEFAULT,PUSHBUTTON,DEFAULT,"Done",2` MyDialog14=`10,160,64,DEFAULT,VARYTEXT,size,"File Size:"` MyDialog15=`10,6,64,DEFAULT,STATICTEXT,DEFAULT,"Current File:"` MyDialog16=`10,20,64,DEFAULT,STATICTEXT,DEFAULT,"Comments:"` MyDialog17=`76,160,64,DEFAULT,STATICTEXT,DEFAULT,"bytes"` MyDialog18=`10,34,64,DEFAULT,STATICTEXT,DEFAULT,"Company:"` MyDialog19=`10,48,64,DEFAULT,STATICTEXT,DEFAULT,"Description:"` MyDialog20=`10,62,64,DEFAULT,STATICTEXT,DEFAULT,"Version:"` MyDialog21=`10,76,64,DEFAULT,STATICTEXT,DEFAULT,"Internal Name:"` MyDialog22=`10,90,64,DEFAULT,STATICTEXT,DEFAULT,"Copyright:"` MyDialog23=`10,104,64,DEFAULT,STATICTEXT,DEFAULT,"Trademarks:"` MyDialog24=`10,118,64,DEFAULT,STATICTEXT,DEFAULT,"Original Filename"` MyDialog25=`10,132,64,DEFAULT,STATICTEXT,DEFAULT,"Product Version"` ButtonPushed=Dialog("MyDialog") goto begin endif endif :textmode file = AskFileName("Select a .txt file for batch mode", "c:\", "*.*","sysdlls.txt", 1) input = FileOpen(file, "READ") output = FileOpen("results.txt", "APPEND") Display(5, "Versioner Status", "Please wait while versioner executes ....") while @true test = FileRead(input) FileN = FileLocate(test) if test == "*EOF*" then Break orgname = FileVerInfo(FileN, "", "OriginalFilename") size = FileSize(FileN) timestamp = FileTimeGet(FileN) prodver = FileVerInfo(FileN, "", "ProductVersion") ver = FileVerInfo(FileN, "", "FileVersion") comments = FileVerInfo(FileN, "", "Comments") company = FileVerInfo(FileN, "", "CompanyName") description = FileVerInfo(FileN, "", "FileDescription") intname = FileVerInfo(FileN, "", "InternalName") copyright = FileVerInfo(FileN, "", "LegalCopyright") trademarks = FileVerInfo(FileN, "", "LegalTrademarks") prodname = FileVerInfo(FileN, "", "ProductName") ; Ugliness due to no \n functionality in FileWrite() :( a = "FileName: " b = StrCat(a, FileN) FileWrite(output, b) c = "File Size: " d = " bytes" e = StrCat(c, size, d) FileWrite(output, e) f = "Timestamp: " g = StrCat(f, timestamp) FileWrite(output, g) h = "Version: " i = StrCat(h, ver) FileWrite(output, i) j = "Comments: " k = StrCat(j, comments) FileWrite(output, k) l = "Company: " m = StrCat(l, company) FileWrite(output, m) n = "Description: " o = StrCat(n, description) FileWrite(output, o) p = "Intername Name: " q = StrCat(p, intname) FileWrite(output, q) r = "Copyright: " s = StrCat(r, copyright) FileWrite(output, s) t = "Trademarks: " u = StrCat(t, trademarks) FileWrite(output, u) v = "Product Name: " w = StrCat(v, prodname) FileWrite(output, w) FileWrite(output, "-------------------------------------------") endwhile FileClose(input) FileClose(output) Message("Versioner 1.0 Status", "Done. Output saved to results.txt") Run("notepad.exe", "c:\results.txt") Exit :about MyDialogFormat=`WWWDLGED,5.0` MyDialogCaption=`About Versioner 1.0` MyDialogX=28 MyDialogY=49 MyDialogWidth=160 MyDialogHeight=76 MyDialogNumControls=4 MyDialog01=`6,52,64,DEFAULT,PUSHBUTTON,DEFAULT,"Ok",1` MyDialog02=`4,8,80,DEFAULT,STATICTEXT,DEFAULT,"by vacuum@technotronic.com"` MyDialog03=`4,22,128,DEFAULT,STATICTEXT,DEFAULT,"This utility checks the version, filesize, and timestamp "` MyDialog04=`4,36,146,DEFAULT,STATICTEXT,DEFAULT,"of .exes and .dlls. This can be done in single or batch mode."` ButtonPushed=Dialog("MyDialog") goto begin