ฉันกำลังพยายามเรียกใช้แบตช์ไฟล์สำหรับฐานข้อมูล PostgreSQL และเซิร์ฟเวอร์ที่ฉันใช้อันนี้:
@ECHO ON
@SET PATH="%~dp0";%PATH%
@SET PGDATA=%~dp0\data
@SET PGUSER=postgres
@SET PGPORT=5432
@SET PGLOCALEDIR=%~dp0\share\locale
"%~dp0initdb" -U postgres -D %~dp0/data -E UTF8
"%~dp0pg_ctl" -w -D "%~dp0/data" -l logfile start
psql.exe -U postgres -f C:\pgsql\bin\db_create.sql postgres
"%~dp0pg_ctl" -D "%~dp0/data" stop
ใช้งานได้ดีหากไดเร็กทอรีของแบตช์ไฟล์และโฟลเดอร์ postgres อยู่ใน:
C:\pgsql\bin
แต่ถ้าไดเร็กทอรีของแบตช์ไฟล์และโฟลเดอร์ postgres อยู่ที่อื่น เช่น:
C:\Program Files (x86)\My App\My App\bin
แบทช์ไม่ทำงานและให้ข้อผิดพลาดแก่ฉัน: