Solved

get program version number

Posted on 2007-12-05
4
677 Views
Last Modified: 2008-02-01
i have a vb exe that i am copying into production.  the output of this is piped to a text file.  is there anyway i can get the version number of the exe so i can also send it to the text file.

for example: if i currently have version 1.1.3 in and i want to move in 1.1.4 i would need to get the version on the old file and the new file and pipe that output to the file.

thanks
0
Comment
Question by:Fraser_Admin
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 

Author Comment

by:Fraser_Admin
ID: 20412177
can get the program version using vbscript, but cannot figure out how to return the value to my calling program (batch file).  any ideas here?
0
 
LVL 9

Expert Comment

by:MSE-dwells
ID: 20414930
Show us how you're doing whatever you've got so far.
0
 

Author Comment

by:Fraser_Admin
ID: 20415057
i ended up just put the output to a file now i'm comparing the two files to see if the version is the same.
0
 
LVL 14

Accepted Solution

by:
canali earned 500 total points
ID: 20416231
Something like this?
byBye Gastone Canali
@echo off
::
:: getfilever.cmd
:: byBye Gastone Canali 
setlocal
pushd %~d0%~p0
set filename=%~n0
set logfile="%temp%\_%filename%.txt"
:: create empty log files
type nul>%logfile%
set newver=1.1.4
set pathToYourExe="C:\Program files\Internet Explorer\iexplore.exe"
 
call :_GETVER  %pathToYourExe%
echo Version: %v%
rem checkversion
echo %v% | find /v "%oldver%" >nul && call :_diffVER %newver% >>%logfile%
echo Version: %v% >>%logfile%
 
goto :_END
:_diffVER
rem  version is different:do something...
echo The file is the not new version %1 but %v%
goto :_EOF
:_GETVER
:: create vbs helper 
:: (every time the funtion is called, put on top of the batch if u don't like it)
 call :_CREATEVBSHELPER
 if not exist %1 goto :_ERR
 for /f "delims=!" %%v in ('cscript //nologo %temp%\filever.vbs %1') do set v=%%v
goto :_EOF
:_CREATEVBSHELPER
set vbshelper=%temp%\filever.vbs
echo>%vbshelper%  Set objFSO = CreateObject("Scripting.FileSystemObject")
echo>>%vbshelper% Wscript.Echo objFSO.GetFileVersion(wscript.arguments(0))
goto :_EOF
:_ERR
set v= file not found!
:_END
:_EOF

Open in new window

0

Featured Post

Is Your DevOps Pipeline Leaking?

Is your CI/CD pipeline a hodge-podge of randomly connected tools? You’ve likely got a tool to fix one problem & then a different tool to fix another, resulting in a cluster of tools with overlapping functionality. Learn how to optimize your pipeline with Gartner's recommendations

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

One of my most closely kept secrets is revealed in this discussion How to output text on the same line This question was recently posted in EE by Simon336697 (http://www.experts-exchange.com/Programming/Languages/Scripting/Shell/Batch/Q_2459…
AutoHotkey is an excellent, free, open source programming/scripting language for Windows. It started out as a keyboard/mouse macros product, but has expanded into a robust language. This article provides an introduction to it, with links to addition…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
Suggested Courses

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question