Как использовать параметр командной строки для ввода данных в последующем приглашении (командный файл) - PullRequest
2 голосов
/ 20 мая 2010

Я использую командный файл для запуска определенной операции в моем приложении. Команда, которую я использую, не принимает пароль в качестве параметра, а запрашивает его во время выполнения. Это мешает автоматизации этого скрипта. Я хотел бы знать, как я могу взять пароль в качестве параметра и предоставить приложению, когда оно запрашивает.

1 Ответ

6 голосов
/ 20 мая 2010

Отвечая на ваш комментарий к ответу Йоханнеса , вам нужно изменить ваш вызов на pg_dump на что-то вроде этого:

echo %3|pg_dump -h %1 -U %2 %4 > %5

Проблема в том, что pg_dump не позволяет вам вводить пароль через stdin. Это означает, что это решение не будет работать здесь.

Но, как вы можете прочитать в документах здесь и здесь , существует (небезопасный) способ предоставления пароля через переменную окружения PGPASSWORD.

Так что просто измените ваш командный файл следующим образом:

...
set PGPASSWORD=%3
pg_dump -h %1 -U %2 %4 > %5
...
...