Build Version (buildver) is a simple command line tool that increments a counter each time it is called.

It is intended to be used in a scripted environment, and creates a simple marker that identifies the current build version of project or folder.
EXAMPLES AND SCRIPTS
Different uses, parameters, and examples on how you can combine the tool with scripting here:

Examples of how to use Build version (buildver) for Windows.
RESTRICTIONS ON USAGE
This tool/application is "free as in beer". I am not responsible in any way for how you use this application.

# Build version tool for Windows

Keeping track of different versions can be tricky when automated build processes falls outside a standard environment. And if it involves mulitiple components of different nature with many tweaks and builds then this tool might be useful.

A simple command line tool for Windows that runs a counter for each time you run a build, and it generate a small build version file that easily helps you to distinguish different versions.

I am sure you have been here: multiple versions, which one? same version number, or no version number, file date and time not helpful, MD5 is different, same files in both, then compare files against each other to find differences. This is really just wasting time, and having a build version marker easily visible will avoid this.

And that is the purpose of this tool, simply run a counter each time you do a build, and provide a high visiblity marker. So what do we mean by "high visibility"? Well, you should be able to determine the build number just looking at the file structure, listing out the files should reveal which "version" or build this is. If you look inside the build version file it could provide more information like: when, who, where.

Lets have a look at an example below:

C:\>dir "C:\projects\bravo"
Volume in drive C is SYSTEM
Volume Serial Number is AB11-BD78

Directory of C:\projects\bravo

29/05/2014  11:45 AM    <DIR>          .
29/05/2014  11:45 AM    <DIR>          ..
29/05/2014  11:45 AM                40 build.version.0107
21/04/2014  01:46 PM    <DIR>          Conquest
22/02/2014  09:57 AM               594 Conquest.con
24/04/2014  08:27 AM    <DIR>          GameTypes
22/02/2014  09:57 AM           131,072 heightmap.raw
22/02/2014  09:57 AM    <DIR>          Init

That was pretty quick, you already know the build version just by looking at the directory structure, and by dumping the contents of that file you know who made that build, date and time, and where it was done.

C:\>type build.version.0107
0107 (2014-04-10 19:20:37 tommy@pc2.dev.local)
C:\>

So far I have focused on builds, as in a script that mixes components and creats a new outcome (very software development oriented). But you could easily use it in automated deployment, complete backup of each build iteration etc.

### Usage and parameters

BUILD VERSION (buildver.exe) version 1.2.1 (2014-06-09 tommy.bragne@trapv.com)
Is a simple tool to increment and store build version number in a text file (build.version.nnnn).
Each time the application is started it will look for the build version file in current directory.
The build number is increment by one and written back to the file (contents is overwritten!!).

Build version string written to file: BUILD# DATETIME %USERNAME%@%COMPUTERNAME%.%USERDOMAIN%
Example: 0013 (2014-05-28 10:52:15 tommy@pc2.pc2)

Usage:
buildver.exe                                   (create/update counter in current directory).
buildver.exe --simple                          (do not append build number to filename).
buildver.exe --show                            (do not increment, return current build version).
buildver.exe --path "c:\projects\big one\"     (update build version file on a different path).
buildver.exe --clean                           (only store/show the build number).
buildver.exe --quite                           (no output to console).
buildver.exe --preout "big builder ver.1.1.1"  (prepend text to output. Not written to file.).
buildver.exe --postout " special edition"      (append text to output. Not written to file.).