Есть две ошибки: Вы не можете "передать" cd
команде запуска.И у start
есть особенность, чтобы интерпретировать первый цитируемый параметр как заголовок нового окна.Так что start "C:\Program Files\PostgreSQL\10\bin\" ...
не сработает, вам нужно указать фиктивный заголовок окна.&
также кажется неправильным
Так что вам нужно:
start "Postgres Server" "C:\Program Files\PostgreSQL\10\bin\pg_ctl.exe" -D "c:\Program Files\PostgreSQL\10\data" start
Поскольку указан полный путь к pg_ctl.exe
, в cd
нет необходимости.Но если вы хотите определить каталог по умолчанию для нового процесса, вы должны использовать параметр /D
:
start "Postgres Server" /D "C:\Program Files\PostgreSQL\10\bin" pg_ctl.exe -D "c:\Program Files\PostgreSQL\10\data" start
Несвязанный, но: поместить каталог данных Postgres в c:\Program Files\
очень плохая идеяЭтот каталог имеет специальные разрешения для определенной цели.Вы должны использовать %ProgramData%
или %AppData%
вместо