我正在尝试通过使用在 NSIS 脚本中运行 SQL 文件ExecWait
。我不想弹出密码对话框,所以我将密码存储在PGPASSWORD
环境变量中(更多信息:链接)。
如果我直接在cmd中执行以下命令,它工作正常:
set PGPASSWORD=PasswordText&&psql -U postgres -w -f "Path\To\File.sql" db_name
但是,当我在 NSIS 脚本中执行相同的命令时,PGPASSWORD
没有设置,并且由于密码错误而失败:
ExecWait 'set PGPASSWORD=$PasswordText&&psql -U postgres -w -f "Path\To\File.sql" db_name'
wherePasswordText
是一个变量(Var),我在其中存储用户提供的密码。