Visual Studio后构建事件和批处理命令

时间:2013-06-14 21:48:54

标签: .net visual-studio batch-file version post-build-event

我没有找到任何内置替代品,所以我在我的项目中使用以下post-build命令来获取生成的汇编版本:

FOR /F "tokens=4" %%F in ('$(SolutionDir)Tools\FileVer.exe /A /B /D !DESTINATION!\MyApplication.exe') DO SET VERSION=%%F
SET VERSION=!VERSION:~0,5!

FileVer是一款免费工具,可以从this page下载。 现在......我需要检索除Revision之外的所有版本组件。这就是我使用该命令获取命令结果的子串的原因。问题是,只有当每个版本组件只有一个数字长度时,它才能像魅力一样工作。所以,例如,如果我有:

1.0.0.0

它将正确检索:

1.0.0

但如果我有:

1.12.0.0

我会得到错误的结果:

1.12。

是否有更好的方法可以在没有修订部件且不使用外部工具的情况下获得最终的装配版本?

1 个答案:

答案 0 :(得分:1)

这应该这样做:

FOR /F "tokens=3 delims=." %%F in ('$(SolutionDir)Tools\FileVer.exe /A /B /D !DESTINATION!\MyApplication.exe') DO SET VERSION=%%F.%%G.%%H