• Powershell will do this, and give you better error handling. However more development work.

    The other thing to think about is using a product like SQLCompare to build your scripts. I know you might not have control of all versions that customers have, but you could license and programmatically run this as well.

    http://www.red-gate.com/products/sql-development/sql-compare/

    Disclosure: I work for Red Gate.