我有几个Postgres数据库相关的命令要运行,我想在Windows中创建一个bat文件来一起运行它们。这是我创建的bat文件:
cd C:\\Program Files\\pgAdmin 4\\v6\\runtime
start pg_dump.exe --file "C:\\Users\\ADMINI~1\\Desktop\\dialpad.sql" --host "host1" --port "5432" --username "warehouse" --no-password --verbose --format=c --blobs --schema "dialpad" "pangea_warehouse_production"
SET "PGPASSWORD=xxxxxxxxxxxxxxx"
start psql --host=host2 --port=5432 --dbname=pangea_warehouse_production --username=warehouse --command="DROP SCHEMA IF EXISTS dialpad CASCADE;CREATE SCHEMA IF NOT EXISTS dialpad AUTHORIZATION warehouse;GRANT USAGE ON SCHEMA dialpad TO reporting;GRANT ALL ON SCHEMA dialpad TO warehouse;"
start pg_restore.exe --host "host2" --port "5432" --username "warehouse" --dbname "pangea_warehouse_production" --verbose --schema "dialpad" "C:\\Users\\ADMINI~1\\Desktop\\dialpad.sql"
当我运行脚本时,它会给予我一个错误:“C:\Program”无法识别为内部或外部命令、可操作程序或批处理文件。
请建议如何解决此问题。谢谢
1条答案
按热度按时间kx7yvsdv1#
你需要转义路径,就像我说的shell和你的批处理文件一样,不理解路径中的空格,因为它认为这是一个停止条件。这是从旧的msdos和它仍然有效