我有一个供应商的batch file来修补Vista机器上的一些软件。 我将要使用GPO将其作为启动脚本推出。
我的问题是一些系统需要这个软件,有些则不需要。
我想添加代码到脚本的开始寻找一个EXE的存在,并拉如果你右键单击EXE,详细信息选项卡,“产品版本”字段可查看的string。
请提出其他解决scheme作为意见。 我知道其他的方式来处理这个问题,并有一对夫妇排队。 我接受build议,但宁愿所有的答案是这个具体的问题。 可以,如果是的话,怎么办?
谢谢! -Mathew
您将需要一个名为filever的实用程序,作为Windows的支持工具。 这是一个详细介绍它的选项的页面 。
在batch file中,您可能会像这样使用它:
@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 }
这将检查文件版本,如果它匹配您所需的版本,它会执行您的batch file。