Ich verwende eine Batch-Datei, um bestimmte Vorgänge in meiner Anwendung auszuführen. Der Befehl, den ich verwende, nimmt das Kennwort nicht als Parameter an, sondern fragt es bei der Ausführung ab. Dies steht der Automatisierung dieses Skripts im Wege. Ich würde gerne wissen, wie ich das Kennwort als Parameter verwenden und der Anwendung zur Verfügung stellen kann, wenn sie dazu auffordert.
Antwort
Zu viele Anzeigen?Bezugnehmend auf Ihren Kommentar zu Johannes' Antwort müssen Sie den Aufruf von pg_dump
zu etwas wie diesem:
echo %3|pg_dump -h %1 -U %2 %4 > %5
Das Problem ist, dass pg_dump es nicht erlaubt, das Passwort über stdin zu übergeben. Das bedeutet, dass diese Lösung hier nicht funktionieren wird.
Aber wie Sie in der Dokumentation lesen können ici y ici gibt es die (unsichere) Möglichkeit, das Passwort über eine Umgebungsvariable anzugeben PGPASSWORD
.
Ändern Sie also einfach Ihre Batch-Datei wie folgt:
...
set PGPASSWORD=%3
pg_dump -h %1 -U %2 %4 > %5
...