2010-05-20 25 views
2

我正在使用批處理文件在我的應用程序中運行某些操作。我正在使用的命令不會將密碼作爲參數,而是在運行時提示它。這是自動執行這個腳本的方式。我想知道如何將密碼作爲參數並在提示時提供給應用程序。如何在後續提示中使用命令行參數提供輸入(批處理文件)

+0

取決於「命令」 - 這令,它是如何要求輸入密碼的用戶?從Stdin讀取,顯示一個對話框? – 2010-05-20 06:35:28

+0

我正在使用postgre的SQL命令pg_dump SQL – 2010-05-20 06:41:27

回答

6

Reffering給你留言,Johannes' answer,您將需要修改您的來電pg_dump到這樣的事情:

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

的問題是,pg_dump並不讓你的密碼通過傳標準輸入。這意味着這種解決方案在這裏不起作用。

但是,正如你可以在文檔herehere中看到的,有一種通過環境變量PGPASSWORD提供密碼的(不安全的)方法。

所以,簡單地修改您的批處理文件是這樣的:

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

感謝這已滿足我的直接要求 – 2010-05-20 08:05:09

+0

+1和萬歲的怪異行爲:/ – Joey 2010-05-20 08:50:23

相關問題