Вы испытываете необходимость в утилите, названной filever, который поставлется как инструмент поддержки с Windows. Вот детализация страницы, это - опции.
В пакетном файле Вы, вероятно, использовали бы его как это:
@IF NOT EXIST C:\PATH\TO\YOUR\APP.EXE GOTO END
@SET APPVER=3.14159
@\\FILESHARE\filever.exe "C:\PATH\TO\YOUR\APP.EXE" | findstr /i %APPVER% > nul
@IF %ERRORLEVEL% EQU 0 GOTO END
@\\FILESHARE\PATH\TO\YOUR\APP\Update.exe
:END
Вы могли сделать это довольно легко с Powershell. Что-то как:
if ([System.Diagnostics.FileVersionInfo]::GetVersionInfo("PathToExe").FileVersion -eq "1.1.0.0") {
.\DoPatch.bat
}
Это проверяет fileversion и если он будет соответствовать Вашей требуемой версии, то он выполнит Ваш пакетный файл.