Reorganized the code that processes subcommands.

This avoids a spurious ParseBool error for invalid arguments.
Changed the -file example to use a simple filename.