เลเยอร์การส่งออก CS5 เป็นไฟล์ที่ไม่มีลำดับหมายเลข


9

ฉันกำลังใช้เลเยอร์ cs5 เพื่อแก้ไขและส่งออกเลเยอร์เป็นไฟล์ ในขณะที่บันทึก CS5 จะเพิ่มลำดับหมายเลขโดยอัตโนมัติในตอนท้ายดังนั้นการแก้ไขชื่อไฟล์เดิมของฉัน

มันฝังคำนำหน้าลำดับหมายเลขโดยอัตโนมัติไปยังเลเยอร์ที่ส่งออกดังนั้นการแสดงผลการตั้งชื่อไฟล์ของฉันเองก็ไร้ประโยชน์ มีการแก้ไขสำหรับสิ่งนี้หรือไม่? มีตัวเลือกบางตัวที่เรียกว่า 'ไม่เรียงลำดับหมายเลขไฟล์ของฉันใหม่' หรือ 'ใช้ชื่อเลเยอร์เป็นชื่อไฟล์ "

ฉันไม่ต้องการหมายเลขนี้ จะป้องกันได้อย่างไร?


ไม่มีการใส่ผิดที่ ฉันทำไฟล์> สคริปต์> โหลดไฟล์ลงในสแต็กแล้ว เสร็จสิ้นการเปลี่ยนแปลงของฉันและตอนนี้ฉันต้องส่งออกเลเยอร์ทั้งหมดเป็นไฟล์แยกต่างหาก (ไฟล์> สคริปต์> ส่งออกเลเยอร์เป็นไฟล์) นี่คือเมื่อ CS5 ทำการนับอัตโนมัตินี้ หวังว่าคุณจะได้รับมันตอนนี้
Srikar Appalaraju

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

มีวิธีที่สวยงามกว่ามากในการจัดการชื่อเลเยอร์ที่ซ้ำกัน แทนที่จะเป็นแนวทางของปืนลูกซองพวกเขาสามารถตรวจจับได้เมื่อเลเยอร์มีชื่อเดียวกันกับอีกชั้นหนึ่งและผนวกตัวเลข ดังนั้นผลที่ได้จะเป็นสิ่งที่ชอบ,filename.jpg filename1.jpg
โพสต์แล็บ

คำตอบ:


11

ในการเพิ่มคำเนื่องจากExport Layers to Filesสคริปต์บางตัวทำงานทั้งหมดที่ฉันต้องทำคือค้นหาสคริปต์นั้นจากนั้นหาฟังก์ชั่นที่บันทึกเลเยอร์เป็นไฟล์ค้นหาส่วนใดของฟังก์ชั่นที่ทำหน้าที่นำหน้าลำดับเลข & แสดงความคิดเห็น

ดังนั้นนี่คือขั้นตอน -

  1. บน Mac ที่ใช้ Lion, goto Applications > Adobe Photoshop CS5 > Presets > Scripts > Export Layers To Files.jsx(ใน windows มันค่อนข้างเหมือนกันในไดเรกทอรี "ไฟล์โปรแกรม / Adobe"
  2. ตอนนี้ในไฟล์นี้ goto line 1030 และแสดงความคิดเห็น
  3. นอกจากนี้ในบรรทัดที่ 1031 ให้เปลี่ยนfileNameBody += "_" + layerName;เป็นการfileNameBody += layerName;ลบเครื่องหมายขีดล่างและวงเล็บ
  4. ความคิดเห็นที่บรรทัด 1049 (fileNameBody + = "_" + zeroSuppress (i, 4) + "s";)

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

http://forums.adobe.com/message/3006825

http://forums.devshed.com/photoshop-help-88/removing-number-sequence-in-export-layers-to-files-in-cs5t-730612.html


ฟังดูหรูหรามากขึ้น และชัดเจนที่สุดเท่าที่เป็นไปได้ฉันอยากพูดถึงว่านี่เป็นความจริงแล้วการเปลี่ยนสคริปต์ในตัวที่คุณควรเก็บรหัสเก่าไว้ (ทั้งสองบรรทัดไม่เปลี่ยนแปลง - เพียงคัดลอกและวางสิ่งที่คุณต้องการเปลี่ยน) . ด้วยวิธีนี้หากคุณต้องการฟังก์ชั่นดั้งเดิมกลับมาคุณเพียงแค่สลับสองบรรทัดที่คุณแสดงความคิดเห็น
ฮันนา

ใช่เจ๋ง ฉันทำเช่นนั้นเป็นขั้นตอนเริ่มต้นเสมอ มันเป็นขั้นตอนพื้นฐานที่ฉันไม่ได้พูดถึง อย่างไรก็ตามขอขอบคุณที่กล่าวถึงเพื่อความสมบูรณ์ ...
Srikar Appalaraju

1

ฉันเห็นปัญหาของคุณ ฉันไม่รู้วิธีการปรับภายใน Photoshop แต่คุณมีทางเลือกสองทาง

ก่อนอื่นคุณสามารถแบทช์เปลี่ยนชื่อไฟล์ทั้งหมดของคุณโดยใช้ Adobe Bridge (เครื่องมือ >> การเปลี่ยนชื่อแบทช์) ป้อนคำอธิบายรูปภาพที่นี่

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

ประการที่สองผมเคยเขียนสคริปต์เป็นคำตอบสำหรับคำถามอื่น (ซึ่งฉันเพิ่งอัปเดตเพื่อรองรับความต้องการของคุณในการบันทึกเลเยอร์โดยใช้ชื่อเลเยอร์ของพวกเขา) สคริปต์ในขณะที่ไม่สามารถปรับแต่งได้สุดจะบันทึกเลเยอร์ทั้งหมดเป็น JPEG (พร้อมการควบคุมคุณภาพ) หรือ PNG และบันทึกเลเยอร์ทั้งหมดเป็นไฟล์โดยใช้ชื่อเลเยอร์ โปรดแจ้งให้เราทราบหากคุณพบปัญหาใด ๆ ฉันสามารถทดสอบสคริปต์ในเครื่องของฉันเองได้เท่านั้นและทำงานได้อย่างสมบูรณ์แบบ


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

1

สำหรับ Photoshop CC นั้นคือบรรทัดที่ 1020 นอกจากนี้คุณสามารถคัดลอกแสดงความคิดเห็นและแก้ไขบรรทัดด้านล่างเพื่อลบขีดล่างออกจากการตั้งชื่อ

    // fileNameBody += "_" + zeroSuppress(i, 4);
    // fileNameBody += "_" + layerName;
    fileNameBody += "" + layerName;

0

สำหรับ CC 2015.5 คุณจำเป็นต้องใส่เครื่องหมายบรรทัด 1083 และ 1084

    // fileNameBody += "_" + zeroSuppress(i, 4);
    // fileNameBody += "_" + layerName;

และแทนที่บรรทัด 1085 - 1088

  fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\<\>\|]/g, "_");  // '/\:*?"<>|' -> '_'
    if (fileNameBody.length > 120) {
        fileNameBody = fileNameBody.substring(0,120);
    }

ด้วยดังต่อไปนี้

fileNameBody += "" + layerName;

0

ในชั้น Comps ไฟล์กล่องโต้ตอบเพียงแค่ติดกับชื่อไฟล์คำนำหน้า , ยกเลิกดัชนี สิ่งนี้จะป้องกันไม่ให้เพิ่มหมายเลขดัชนี


0

ฉันค่อนข้างแน่ใจว่าฉันได้คิดออกมาพวก ขอบคุณทุกคนที่โพสต์ในฟอรัมนี้ให้เบาะแสที่จำเป็นแก่ฉันในการพักผ่อน ดังนั้นรหัสจึงเป็นดังนี้:

บรรทัด: 2179 var fileNameBody = fileNamePrefix; // fileNameBody + = " " + zeroSuppress (i, 4); // fileNameBody + = " " + layerName; fileNameBody + = layerName;

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

บรรทัด: 2219 // fileNameBody + = "_" + zeroSuppress (i, 4) + "s";

เป็นหลักคุณต้องแสดงความคิดเห็นรหัสนี้ซึ่งควรอยู่ภายใต้ "var fileNameBody = fileNamePrefix;" บรรทัดของรหัส สิ่งนี้ควรลบคำนำหน้าแม้ว่าเลเยอร์ของคุณจะถูกจัดกลุ่ม

รหัสเดียวที่คุณต้องเปลี่ยนคือสิ่งที่ฉันมีรหัสเป็นสีแดง

ข้อสงวนสิทธิ์: หมายเลขบรรทัดในรหัสอาจแตกต่างกันไปตามรุ่นของ photoshop ที่คุณมี คุณสามารถแก้ไขได้โดยใช้คุณสมบัติการค้นหาแอปพลิเคชันของคุณเพื่อค้นหารหัส ตรวจสอบให้แน่ใจว่าคุณลบ "//" มิฉะนั้นจะไม่พบสิ่งที่คุณต้องการในรหัส

ฉันหวังว่าฉันช่วยคนนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.