หากคุณมีคอมพิวเตอร์ที่ใช้ Windows คุณสามารถใช้ ol 'ที่ดีCMD.EXE
ด้วยความลับเล็ก ๆ น้อย ๆ ตรวจสอบให้แน่ใจว่าคุณทำเช่นนี้ในไดเรกทอรี "บรรจุ" โดยมีเฉพาะไฟล์ shp / sql ที่คุณต้องโหลด
ขั้นตอนแรกสร้างไฟล์ตัวโหลด SQL (ฉันสมมติว่าคุณมีข้อมูล Lat / Long WGS84 ที่มี 4326 .. อัปเดตเป็น SRS ของคุณ):
for %f in (*shp) do shp2pgsql -s 4326 %f public.%~nf > %~nf.sql
จากนั้นตรวจสอบไฟล์ SQL ของคุณเพื่อให้แน่ใจว่าไฟล์ดูดีจากนั้นทำการวนซ้ำที่คล้ายกัน:
for %f in (*sql) do psql -h myserver -d mydb -U myuser -f %f > nul
สิ่งที่bash
เทียบเท่ากับ POSIX folk (Linux, Mac OS X, ฯลฯ ) มีลักษณะดังนี้:
for f in *.shp
do
shp2pgsql -s 4326 %f public.`basename $f .shp` > `basename $f .shp`.sql
done
แล้วก็
for f in *.sql
do
psql -h myserver -d mydb -U myuser -f $f > /dev/null
done
หรือทั้งสองส่วนแบ่งเป็นลูปเดียวถ้าคุณไม่ต้องการเก็บ.sql
ไฟล์ชั่วคราว:
for f in *.shp
do
shp2pgsql -s 4326 %f public.`basename $f .shp` | psql -d mydb > /dev/null
done