Files
SnapOtter/apps/docs/ar/tools/image/bulk-rename.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

3.3 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
إعادة تسمية عدّة ملفات باستخدام قالب نمط وتنزيلها كملف ZIP. 2776dcc2f71c human ce423a6d3e41

إعادة التسمية الجماعية

أعِد تسمية عدّة ملفات باستخدام قالب نمط يحوي عناصر نائبة للفهرس والفهرس المبطّن واسم الملف الأصلي. تُرجع أرشيف ZIP يحتوي على جميع الملفات المُعاد تسميتها.

نقطة نهاية API

POST /api/v1/tools/image/bulk-rename

يقبل بيانات نموذج متعدّد الأجزاء (multipart) مع عدّة ملفات وحقل settings بصيغة JSON.

المعاملات

المعامل النوع مطلوب الافتراضي الوصف
pattern string لا "image-{{index}}" نمط التسمية مع العناصر النائبة (بحدّ أقصى 1000 حرف)
startIndex number لا 1 رقم الفهرس الابتدائي

العناصر النائبة في النمط

العنصر النائب الوصف مثال
{{index}} رقم تسلسلي يبدأ من startIndex 1، 2، 3
{{padded}} رقم تسلسلي مبطّن بالأصفار 01، 02، 03
{{original}} اسم الملف الأصلي بدون امتداد photo، IMG_001

يُحفَظ امتداد الملف الأصلي دائمًا.

مثال على الطلب

curl -X POST http://localhost:1349/api/v1/tools/image/bulk-rename \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo1.jpg" \
  -F "file=@photo2.jpg" \
  -F "file=@photo3.jpg" \
  -F 'settings={"pattern": "vacation-{{padded}}", "startIndex": 1}'

ينتج عن هذا: vacation-1.jpg، vacation-2.jpg، vacation-3.jpg

باستخدام اسم الملف الأصلي:

curl -X POST http://localhost:1349/api/v1/tools/image/bulk-rename \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@IMG_001.jpg" \
  -F "file=@IMG_002.jpg" \
  -F 'settings={"pattern": "2024-trip-{{original}}-{{index}}"}'

ينتج عن هذا: 2024-trip-IMG_001-1.jpg، 2024-trip-IMG_002-2.jpg

مثال على الاستجابة

الاستجابة ملف ZIP مُدفَّق مباشرةً (وليست استجابة JSON). ترويسات الاستجابة هي:

Content-Type: application/zip
Content-Disposition: attachment; filename="renamed-a1b2c3d4.zip"

ملاحظات

  • لا تعالج هذه الأداة الصور. فهي تُعيد تسمية الملفات فقط وتحزمها في أرشيف ZIP.
  • يُحدَّد عرض التبطين بالأصفار لـ {{padded}} تلقائيًا بناءً على العدد الإجمالي للملفات (مثلًا 100 ملف تستخدم تبطينًا من 3 خانات: 001، 002، إلخ).
  • تُحفَظ امتدادات الملفات من أسماء الملفات الأصلية.
  • تُنقَّى أسماء الملفات لإزالة الأحرف غير الآمنة.
  • يجب توفير ملف واحد على الأقل.