【问题标题】:How to remove password prompt from .Bat file?如何从 .Bat 文件中删除密码提示?
【发布时间】:2019-06-13 20:40:35
【问题描述】:

我正在为我的 PostgreSQL 数据库创建每日备份计划程序,为此我安装了 Pg-agent 并创建了作业计划程序。我创建了一个 .bat 文件并在其中编写了运行良好的脚本。当我从命令提示符执行 .bat bat 文件时,我想要什么,它要求输入密码,所以我想删除它并在不询问密码的情况下执行 .bat 文件。

@echo Backup database  %PG_PATH%%PG_FILENAME%
@echo off
SET PG_BIN="C:\Program Files\PostgreSQL\9.5\bin\pg_dump.exe"
SET PG_HOST=localhost
SET PG_PORT=5432
SET PG_DATABASE=postgres
SET PG_USER=postgres
SET PG_PASSWORD=postgres
SET PG_PATH=C:\OEM
SET FECHAYHORA=%date:/=%-%time:-0,8%
SET FECHAYHORA=%FECHAYHORA::=-%
SET FECHAYHORA=%FECHAYHORA: =0%
SET PG_FILENAME=zerodefect_%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%.sql
%PG_BIN% -h %PG_HOST% -p %PG_PORT% -U %PG_USER% %PG_DATABASE% > %PG_FILENAME%

@echo Backup Taken Complete %PG_PATH%%PG_FILENAME%

输出:

【问题讨论】:

  • 试管:echo %PG_PASSWORD%| %PG_BIN% ...?

标签: postgresql batch-file pgagent


【解决方案1】:

变量应命名为PGPASSWORD(不带下划线),如doc中所述

附带说明,您可能希望在脚本的开头添加setlocal,在末尾添加endlocal,这样包含密码的变量将在最后从内存中删除。

【讨论】:

    猜你喜欢
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2013-12-08
    相关资源
    最近更新 更多