> [Site index](https://perfectvector.com/llms.txt) — available pages and descriptions.

# แปลงภาพทั้งโฟลเดอร์เป็น SVG ด้วย Claude Code

> วางแผนแปลงภาพทั้งโฟลเดอร์ด้วย Claude Code และ PerfectVector MCP ระบุพาธผลลัพธ์ไม่ให้ซ้ำ แล้วตรวจในเครื่องว่า SVG ใดหายไป

Source: https://perfectvector.com/th/blog/batch-vectorize-images-claude-code-mcp

Language: th
Author: Jay
Published: 2026-11-13T08:00:00+09:00

โฟลเดอร์ไอคอนตรวจง่ายขึ้นเมื่อแต่ละภาพมีพาธ SVG ที่คาดไว้หนึ่งพาธ Claude Code ส่งภาพในเครื่องไปยัง PerfectVector MCP ได้ และ PerfectVector ประมวลผลทีละภาพต่อบัญชี ใช้ **รายการจับคู่ไฟล์** หรือ manifest ที่ระบุผลลัพธ์สำหรับแต่ละต้นฉบับ เพื่อติดตามว่ารายการใดยังต้องตรวจหลังจบบทสนทนา [คู่มือแปลงภาพของ PerfectVector](https://perfectvector.com/docs/mcp/use-in-conversation) · [การแก้ปัญหาของ PerfectVector](https://perfectvector.com/docs/mcp/troubleshooting#a-conversion-is-still-processing)

บทความนี้มีตัวอย่างคำสั่งตามคู่มือสำหรับส่งต่องานทั้งโฟลเดอร์ และสคริปต์ Python สำหรับตรวจไฟล์ที่บันทึกในเครื่อง สคริปต์ตรวจชื่อไฟล์และโครงสร้าง SVG โดยไม่ส่งคำขอแปลง

## กำหนดปลายทางให้ไม่ซ้ำ

ใช้โครงสร้างโฟลเดอร์เดิมใต้โฟลเดอร์ผลลัพธ์แยก แล้วเติม `.svg` ต่อท้ายชื่อเต็ม วิธีนี้แยกไฟล์ `mark.png` ที่อยู่คนละโฟลเดอร์ย่อย รวมถึงแยกผลจาก `logo.png` กับ `logo.jpg` ได้

| ต้นฉบับใต้ `./rasters` | ผลลัพธ์ใต้ `./vectors` |
| ---------------------- | ---------------------- |
| `east/mark.png`        | `east/mark.png.svg`    |
| `west/mark.png`        | `west/mark.png.svg`    |
| `labels/logo.png`      | `labels/logo.png.svg`  |
| `labels/logo.jpg`      | `labels/logo.jpg.svg`  |

**รายการจับคู่ไฟล์ในโฟลเดอร์**

![รายการไฟล์ในโฟลเดอร์แสดงต้นฉบับและ SVG สามแถว ผลลัพธ์สองแถวมีเครื่องหมายถูกและอีกแถวเว้นว่าง](https://perfectvector.com/blog/batch-vectorize-images-claude-code-mcp/workflow.webp)

*จับคู่ต้นฉบับแต่ละไฟล์กับพาธ SVG ที่ไม่ซ้ำ หากไม่พบผลลัพธ์ ให้ตรวจรายการแปลงเดิมก่อนอนุมัติให้ลองใหม่*

## จำกัดขอบเขตงานโฟลเดอร์ที่สั่ง Claude Code

ตั้งค่าเซิร์ฟเวอร์ PerfectVector ระยะไกลและยืนยันตัวตนตามคู่มือ ใช้ PNG, JPEG หรือ WebP แบบเฟรมเดียว แต่ละไฟล์ต้องไม่เกิน 5 MB และแต่ละด้านยาว 100–4,096 พิกเซล [MCP ของ Claude Code](https://code.claude.com/docs/en/mcp) · [การตั้งค่า Claude Code กับ PerfectVector](https://perfectvector.com/docs/mcp/getting-started#connect-ai-agents) · [ข้อกำหนดไฟล์ภาพของ PerfectVector](https://perfectvector.com/docs/mcp/supported-inputs)

เริ่มจากสั่งให้ทำรายการเท่านั้น เพื่อหาพาธที่ชนกันหรือไฟล์ที่ไม่คาดว่าจะเจอก่อนแปลง เก็บเฉพาะพาธต้นฉบับที่คุณอนุญาตสำหรับงานชุดนี้

```text
List the PNG, JPEG, and WebP files under ./rasters.
For each, propose one output under ./vectors with the same
relative directory and .svg appended to the full filename.
Flag paths that already exist. Show the list before converting.
```

ตรวจพาธแล้วอนุมัติไฟล์ชุดเล็ก ขอให้ Claude Code บันทึก SVG แต่ละไฟล์ตามพาธในรายการ เก็บต้นฉบับไว้ และรายงานผลที่หายไปหรือทำไม่สำเร็จ ตามกฎปัจจุบัน PerfectVector ใช้หนึ่งเครดิตต่อ SVG ที่ส่งมอบ หากบทสนทนาหยุดกลางทาง ให้ตรวจรายการแปลงเดิมก่อนขอแปลงต้นฉบับนั้นใหม่ [เครดิตและการดาวน์โหลดของ PerfectVector](https://perfectvector.com/docs/mcp/credits-delivery)

## ตรวจโฟลเดอร์ผลลัพธ์

บันทึกสคริปต์ตรวจสอบนี้เป็น `check_svg_batch.py` แล้วรัน `python3 check_svg_batch.py ./rasters ./vectors` สคริปต์ตรวจการตั้งชื่อตามกฎด้านบน ตลอดจนองค์ประกอบรูปทรงและภาพที่พบบ่อยใน SVG หากได้ “inspect visually” ให้เปิดเทียบกับต้นฉบับ การมีนามสกุลและองค์ประกอบ path ยังไม่ยืนยันว่าภาพถูกแปลงตรงกับต้นฉบับ

```python
import sys
import xml.etree.ElementTree as ET
from pathlib import Path

source = Path(sys.argv[1])
output = Path(sys.argv[2])
formats = {".png", ".jpg", ".jpeg", ".webp"}
namespace = "{http://www.w3.org/2000/svg}"

for image in sorted(source.rglob("*")):
    if not image.is_file() or image.suffix.lower() not in formats:
        continue
    relative = image.relative_to(source)
    svg = output / relative.with_name(relative.name + ".svg")
    try:
        document = ET.parse(svg).getroot()
    except FileNotFoundError:
        print("missing", relative)
        continue
    except ET.ParseError:
        print("invalid XML", relative)
        continue
    has_shape = any(
        document.find(f".//{namespace}{tag}") is not None
        for tag in ("path", "rect", "circle", "ellipse", "line", "polyline", "polygon")
    )
    has_image = document.find(f".//{namespace}image") is not None
    status = (
        "inspect visually"
        if document.tag == namespace + "svg" and has_shape and not has_image
        else "inspect structure"
    )
    print(status, relative)
```

ในการทดสอบด้วยไฟล์ในเครื่อง สคริปต์แยกต้นฉบับชื่อเหมือนกันที่อยู่คนละโฟลเดอร์ได้ และแจ้งผลลัพธ์ที่หายไป XML ที่รูปแบบไม่ถูกต้อง และ SVG ที่มีองค์ประกอบภาพ ชุดทดสอบใช้ SVG ของ PerfectVector ที่เผยแพร่แล้วร่วมกับไฟล์ทดสอบขนาดเล็ก เพื่อยืนยันการตรวจไฟล์ในเครื่อง

ผล `missing` แปลว่าไม่พบ SVG ตามพาธที่คาดไว้ รวมถึงไฟล์ที่อยู่ในแผนแต่ผู้ช่วยยังไม่ได้ส่งไปแปลง ตรวจสถานะที่บันทึกแล้วถามว่าผู้ช่วยมีผลเดิมให้ดึงหรือไม่ ยืนยันรายการไฟล์ก่อนอนุมัติให้แปลงอีกครั้ง หาก XML ผิดรูปแบบหรือมีองค์ประกอบภาพ ให้เปิดไฟล์เพื่อดูว่าได้อะไรกลับมา และดาวน์โหลดผลเดิมใหม่ถ้าเหมาะสม สร้างรายการแปลงใหม่เมื่อยืนยันแล้วว่ากู้ผลที่หายไปไม่ได้ หรือต้นฉบับต้องแปลงใหม่ [การแก้ปัญหาของ PerfectVector MCP](https://perfectvector.com/docs/mcp/troubleshooting)

## คำถามที่พบบ่อย

### ตัวเชื่อมต่อแปลงทั้งโฟลเดอร์ในคำขอเดียวได้ไหม

PerfectVector ประมวลผลทีละภาพต่อบัญชี Claude Code ช่วยไล่ทำงานในโฟลเดอร์ได้ โดยแยกการแปลงและกำหนด SVG ที่คาดไว้สำหรับแต่ละต้นฉบับ [คู่มือแปลงภาพของ PerfectVector](https://perfectvector.com/docs/mcp/use-in-conversation) · [การแก้ปัญหาของ PerfectVector](https://perfectvector.com/docs/mcp/troubleshooting)

### ถ้ามี SVG บางไฟล์อยู่แล้วควรทำอย่างไร

เก็บไว้ในโฟลเดอร์ผลลัพธ์แล้วตรวจไฟล์ก่อน เปิดดูรูปทรงและทำเครื่องหมายว่าเสร็จเมื่อยืนยันแล้ว หากไฟล์หาย ให้ตรวจการแปลงเดิมก่อนอนุมัติรายการใหม่ [เครดิตและการดาวน์โหลดของ PerfectVector](https://perfectvector.com/docs/mcp/credits-delivery)

## แหล่งอ้างอิง

1. [Anthropic — เชื่อม Claude Code กับเครื่องมือผ่าน MCP](https://code.claude.com/docs/en/mcp) — การตั้งค่าเครื่องมือระยะไกล
2. [PerfectVector — เชื่อมต่อผู้ช่วย](https://perfectvector.com/docs/mcp/getting-started) — การตั้งค่า Claude Code
3. [PerfectVector — แปลงภาพ](https://perfectvector.com/docs/mcp/use-in-conversation) — การส่งภาพด้วยพาธในเครื่อง
4. [PerfectVector — ข้อกำหนดไฟล์ภาพ](https://perfectvector.com/docs/mcp/supported-inputs) — ไฟล์แรสเตอร์ที่รองรับ
5. [PerfectVector — เครดิตและการดาวน์โหลด](https://perfectvector.com/docs/mcp/credits-delivery) — การคิดเครดิตเมื่อส่งมอบและการดึงไฟล์
6. [PerfectVector — การแก้ปัญหา](https://perfectvector.com/docs/mcp/troubleshooting) — การประมวลผลทีละภาพและคำขอที่ถูกขัดจังหวะ

***

[เปิด PerfectVector MCP](https://perfectvector.com/th/mcp) เพื่อดูวิธีเชื่อมต่อ Claude Code เลือกภาพสองภาพ จดพาธ SVG ที่ต่างกัน แล้วรันสคริปต์ตรวจโฟลเดอร์ผลลัพธ์ในเครื่อง ตรวจว่าพาธที่รายงานตรงกับแผนก่อนเพิ่มไฟล์ในชุด

## Explore

- [Read the HTML article](https://perfectvector.com/th/blog/batch-vectorize-images-claude-code-mcp)
- [Claude แปลงภาพเป็นเวกเตอร์ได้ไหม? โค้ด SVG กับการลอกเส้น](https://perfectvector.com/th/blog/can-claude-vectorize-an-image.md)
- [แปลงภาพเป็นเวกเตอร์ใน Make ผ่าน HTTP และ Drive](https://perfectvector.com/th/blog/make-com-vectorize-image-automation.md)
- [Product facts](https://perfectvector.com/product-facts.md)
- [FAQ](https://perfectvector.com/faq.md)
- [Pricing and credits](https://perfectvector.com/pricing.md)
