Zitat:
"%ProgramFiles(x86)%\PostgreSQL\9.1\bin\createuser ^"
enthält aber kein Leerzeichen. Wenn also die Anführungszeichen deshalb entfernt werden und erst danach die Variable aufgelöst wird, hast Du ein Problem. Da würde ich mir eher die Mühe machen, den Pfad selbst zu ermitteln und dann alles zusammen zu escapen.