PowerShell在CMD提示符中执行命令

Ily*_*lya 1 powershell cmd

我正在编写一个PowerShell脚本,用于在PostgreSQL中创建用户.脚本中的一些步骤是:

  1. 打开CMD窗口
  2. 执行第一个命令

    SET PGPASSWORD=superPassword
    
    Run Code Online (Sandbox Code Playgroud)
  3. 执行第二个命令

    "C:\Program Files\PostgreSQL\9.6\bin\psql.exe --username postgres --command "CREATE USER Ivan WITH CREATEDB PASSWORD 'ivanPassword';"
    
    Run Code Online (Sandbox Code Playgroud)

我有一个问题,我发现只有:

cmd.exe /c "SET PGPASSWORD=superPassword"
Run Code Online (Sandbox Code Playgroud)

但它没有用.我不知道如何在一个打开的命令提示符窗口中执行这两个命令.

Ans*_*ers 5

这个答案到DBA StackExchange上的类似问题:

Set-Location 'C:\Program Files\PostgreSQL\9.6\bin'
$env:PGPASSWORD = 'superPassword'
& .\psql.exe --% --username postgres --command "CREATE USER Ivan WITH CREATEDB PASSWORD 'ivanPassword';"
Run Code Online (Sandbox Code Playgroud)

请注意,停止解析符号(--%)需要PowerShell v3或更高版本.