I tend to always use Quartus to start a new project. It's just too easy to make a mistage typing in the device being targeted, or to forget about some setting I might want to change(like doing a Fast Fit for first pass compiles).
That being said, if you're targeting the same board and just creating new projects, you can technically script this(building a new project, adding assignments like Add File commands), but the syntax for the assignments is identical to what's in the .qsf. (It's kind of weird, as you basically run Tcl commands through Quartus that get saved in the .qsf in the exact same format as the command you ran.) I generally think it's easier to have a shell .qpf and .qsf, and if I need to edit files, just hand-edit those. Technically they're not a "script to be called" but you would be doing the same edits to a script. Then I run compiles via Tcl as Brad has suggested. Besides the documentation, the .flow.rpt gives you the exact commands executed when you do a compile via the GUI.
From a command prompt type "quartus_sh --qhelp", as this is an invaluable quick way to look at commands. Finally, for quickly editing project settings:
"quartus_sh --set" is useful. (Look for the syntax examples in the --qhelp". You can build up a project this way, i.e. add each file one-by-one this way, but again I would just edit the .qsf directly.