You can do this by using PropertyGroups and Conditions. Save this MsBuild markup as "test.proj".
<Project DefaultTargets="VersionTest" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Version Condition="'$(Revision)' != ''">$(Revision)</Version>
<Version Condition="'$(Version)' == ''">0.0.0.0</Version>
</PropertyGroup>
<Target Name="VersionTest">
<Message Importance="high" Text="Revision is: $(Revision)" />
<Message Importance="high" Text="Version is: $(Version)" />
</Target>
</Project>
From a command prompt run msbuild.exe test.proj
VersionTest:
Revision is:
Version is: 0.0.0.0
Then run: msbuild test.proj /p:Revision=1.0.0.0
VersionTest:
Revision is: 1.0.0.0
Version is: 1.0.0.0