· batch-scripts

Spaces in batch scripts

Since reading The Pragmatic Programmer I’ve become a bit of an automation junkie and writing batch scripts falls right under that category.

Unfortunately, nearly every single time I write one I forget that Windows really hates it when you have spaces in variable assignments, and I forget how to print out a usage message if the right number of parameters are not passed in.

So as much for me as for everyone else, this is how you do it:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
~~~
@ECHO off
IF [%1]==[] GOTO usage
IF [%2]==[] GOTO usage

set VAR1=%1
set VAR2=%2

rem important client stuff

goto end

:usage
echo Usage: script.bat var1 var2

:end
echo Script finished~~~

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket