Is there a way to batch render multiple scenes?
Yes, you can use

blender -b file_name.blend -x 1 -o //file -F AVI_JPEG -s 001 -e 250 -S scene_name -a



-b: tells blender to run in background

-x: is used to add an extension to the movie

-o: sets the directory + Target image file

-F: sets the output image type

-s: 001 -e 250 -a set the start frame to 001 and end frame to 250. Important: You can use -s or -e, but if they're not in order, they'll not work!

-S: sets the scene name to render (spaces in the name are not supported)

-a: renders the animation

The above command should render whatever scene name you specify to -S. To avoid certain problems where similar files can get overwritten, its best to use a script to render each scene on a different line. For example:

batch_render.sh / .bat

blender -b file_name.blend -x 1 -S scene_name001 -o //file -F AVI_JPEG -s 1 -e 250 -a
blender -b file_name.blend -x 1 -S scene_name002 -o //file -F AVI_JPEG -s 1 -e 250 -a


You could also do this in one command - as follows:

blender -b file_name.blend -x 1 \
    -S scene_name001 -o //file -F AVI_JPEG -s 1 -e 250 -a \
    -S scene_name002 -o //file -F AVI_JPEG -s 1 -e 250 -a


However launching blender isn't typically a bottleneck, so it may end up being less trouble to run a new blender instance for each scene.

To get a better understanding of the parameters, you can see the wiki.