I used bat files for the following things:
- to convert CVS repository to git
- to build Visual Studio soutions
- to automatically generate C# code and build results into executable
- to compile java code
- Loops over lines in text files
- Environment variables
- Using loop variable for nested loops
- Labels and goto statement
- Expanding some paths
- echo for printing usage information