Automator : ตัวอย่าง workflow แบบต่าง ๆ

ในส่วนนี้จะเป็นตัวอย่างการสร้าง workflow จาก automator ที่ผมทำเอาไว้สำหรับใช้งานเองด้วยส่วนหนึ่ง และเพื่อเป็นแนวทางในการสร้าง workflow ขึ้นมาเองสำหรับผู้สนใจทั่วไปนะครับ

เนื้อหาในส่วนนี้ประกอบไปด้วย

  1. การสร้าง workflow เอาไว้สำหรับย่อไฟล์ภาพแบบง่าย ๆ - สำหรับย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว เนื้อหามีทั้งหมด 2 ตอนครับ
  2. ตัวอย่างการใช้งาน Variables ใน Automator - ในตัวอย่างนี้ จะอ้างอิงจาก workflow ของการย่อรูปในตัวอย่างในหัวข้อที่ 1 แล้วนำมาเพิ่มเติม Variable เข้าไป เพื่อให้ทำงานได้หลากหลายมากขึ้น

ถ้าพบข้อผิดพลาด หรือไม่เข้าใจตรงไหนก็ทิ้งคำถามเอาไว้ได้จากใน comment หน้านั้น ๆ
หรือจะอีเมล์มาหาผมก็ได้ที่ kok[แอด]macmuemai.com ครับ =)

ขอให้มีความสุขในการใช้งาน Automator ครับ
ก๊อก

note : ถ้าหัวข้อทางด้านซ้ายใน How-Tos ซ้อนกันจนอ่านไม่รู้เรื่อง ให้เลือกจากรายการด้านล่างนี้ หรือจาก Automator Sample tags ทางด้านซ้ายมือครับ

Automator : ตัวอย่าง Rename files เป็นกลุ่ม

ผมมีความตั้งใจจะเขียนเกี่ยวกับ workflow ตัวนี้มาพักใหญ่ ๆ แล้วแต่ก็ทำนู่นทำนี่ลืมจนลืมในที่สุด จนมีกระทู้จากคุณ od2504 ที่มาถามเกี่ยวกับวิธี rename ไฟล์เป็นกลุ่ม ผมเลยอยากที่จะอธิบายตรงนี้แบบละเอียดตามที่ตั้งใจเอาไว้

ก่อนอื่น นี่เป็นบทความเกี่ยวกับตัวอย่าง workflow ที่ผมใช้งานจริง ดังนั้นโปรดอ่านเกี่ยวกับพื้นฐานการใช้งาน Automator ตามหัวข้อด้านล่างนี้ก่อนสำหรับผู้ที่ไม่เคยใช้นะครับ

  • Automator : เกี่ยวกับ Automator
  • workflow : ชุดคำสั่งของเรา
  • กลักการสร้าง workflow
  • การ Save workflow ไปใช้ในลักษณะต่าง ๆ

โดยเนื้อหาบทความนี้จะแบ่งเป็น 2 ตอน

  • รูปแบบการสร้าง workflow สำหรับ Rename ไฟล์เป็นกลุ่ม และการนำไปใช้กับ Finder
  • รายละเอียดของคำสั่ง Rename Finder Items แบบ Make Sequential

เลือกดูได้จากหัวข้อด้านล่างนี้นะครับ =)

Automator : ตัวอย่าง Rename files เป็นกลุ่ม #1

ขั้นตอนที่ 1
เปิด Automator ขึ้นมา เพื่อสร้าง workflow มี welcome screen ขึ้นมาให้เลือก Custom แล้วเราจะได้หน้าเปล่า ๆ ของ Automator ขึ้นมา

ขั้นตอนที่ 2
สร้าง workflow ตามนี้
Action ที่ 1 = Get Selected Finder Items (จากหมวด Files & Folders)
Action ที่ 2 = Rename Finder Items (จากหมวด Files & Folders)
 - ให้เลือก Options Show workflow when it runs ด้วย

เสร็จแล้วจะได้หน้าตาประมาณนี้ครับ

automatr-rename-1_1.jpg

อธิบาย

  • Get Selected Items : ให้เราเลือกไฟล์ที่ต้องการจะเปลี่ยนชื่อ ก่อนสั่ง workflow ให้ทำงานครับ ซึ่งถ้าสั่ง workflow ตอนที่เรายังไม่ได้เลือกไฟล์อะไรไว้ จะไม่มีการทำงานเกิดขึ้น
  • Rename Finder Items : action นี้จะมีรายละเอียดเกี่ยวกับการเปลี่ยนชื่อไฟล์ในรูปแบบต่าง ๆ ในตัวอย่างนี้ เลือก Make Sequential ครับ จะเป็นการเปลี่ยนชื่อไฟล์แบบไล่ลำดับ (ดูการใช้งาน Make Sequential แบบละเอียดได้จาก ที่นี่ ประกอบครับ)

ขั้นตอนที่ 4
ทดสอบ workflow นี้ด้วยการเลือกไฟล์ที่ต้องการเอาไว้ จากนั้นสั่ง RUN ครับ

ขั้นตอนที่ 5
เมื่อทุกอย่างเป็นไปตามที่เราต้องการแล้ว ให้ Save workflow นี้ออกมาเป็นแบบ Application ครับ จากนั้นก็จับเข้ามาวางไว้ใน Toolbar ของ Finder เพื่อที่จะสามารถเรียกใช้ workflow นี้ได้จาก Finder ครับ (ไม่ต้องเปิด automator มาสั่งงานอีกต่อไป)

ดูรายะเอียดการ Save ในการนำ workflow มาทำงานกับ Finder ได้จากในนี้ครับ (ใช้วิธีการเดียวกัน)
http://macmuemai.com/content/538

หมดแล้วครับ =)

Automator : ตัวอย่าง Rename files เป็นกลุ่ม #2

อธิบายส่วนประกอบต่าง ๆ ของการเปลี่ยนชื่อไฟล์แบบ Sequential

automatr-rename-1-1_7.jpg

1.เลือกการเปลี่ยนชื่อไฟล์แบบ Make Sequential จะเป็นการใส่ลำดับเลขลงไปในชื่อไฟล์ครับ เช่น

  • ABC-01.jpg
  • ABC-02.jpg
  • ABC-03.jpg...

2.Add number to : จะเป็นการเลือกว่าจะเพิ่มลำดับอย่างไร

  • existing item name : เป็นการใส่ลำดับลงไปต่อท้ายชื่อไฟล์เดิม
  • new name : ให้เราตั้งชื่อไฟล์ใหม่ พร้อมกับมีลำดับลงไปในชื่อไฟล์ใหม่ด้วย

3.รายละเอียดการใส่ลำดับ

  • Place number : ให้เราเลือกว่า จะใส่ลำดับเลขอลงไปในชื่อไฟล์อย่างไร ระหว่าง

before name : ใส่ลำดับไปก่อนชื่อไฟล์
after name : ใส่ลำดับลงไปหลังชื่อไฟล์

  • Start numbers at : กรอกค่านับเลขแรกลงไปครับ สามารถกำหนดให้เริ่มลำดับไฟล์ตามตัวเลขที่ต้องการได้ โดยไม่จำเป็นต้องเริ่มที่ 1 เสมอไป

  • Separate by : เป็นการกำหนดว่าจะให้มีอะไรอยู่ระหว่างชื่อไฟล์กับเลขลำดับหรือไม่

dash : ใช้เครื่องหมาย “-” (ลบ)คั่น เช่น abc-01.jpg
period : ใช้เครื่องหมาย “.” (จุด)คั่น เช่น abc.01.jpg
space : เป็นการเว้นวรรค เช่น abc 01.jpg
under score : ใช้เครื่องหมาย “_” (ขีดล่าง)คั่น เช่น abc_01.jpg
nothing : ไม่มีอะไรคั่น เขียนติดกันทั้งชื่อไฟล์กับลำดับ abc01.jpg

  • Make all numbers XX digits long : เป็นการกำหนดว่าจะให้ลำดับไฟล์เป็นเลขกี่หลักครับ

⁃ 1 digit log = เลขหลักเดียว เช่น abc-1.jpg
⁃ 2 digit log = เลขสองหลัก เช่น abc-01.jpg
⁃ 3 digit log = เลขสามหลัก เช่น abc-001.jpg

  • Example : ตรงนี้จะแสดงตัวอย่างชื่อไฟล์ใหม่ตามข้อกำหนดที่เราเลือกนะครับ ลองเล่นดู

4.ให้เลือก Options : Show this action when the workflow runs เอาไว้ด้วย เวลาสั่งให้เค้าทำงานเราจะได้ตั้งรายละเอียดได้ครับ

Automator : ตัวอย่าง workflow #1/2 - ย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว

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

ตัวอย่างที่ผมเลือกมาทำคือ การย่อรูปครั้งละเยอะ ๆ ครับ .. คิดว่าหลาย ๆ คนยังไม่ทราบตรงนี้ และน่าจะที่ได้เอาไปใช้เองได้อีกในอนาคตเพราะมีขั้นตอนที่ง่าย ๆ ไม่ซับซ้อนมากนัก โดยจะมีเนื้อหาดังนี้

  • การเริ่มต้นสร้าง workflow เพื่อย่อขนาดไฟล์ภาพทีละเยอะ ๆ
  • การปรับแต่ง workflow เดิม ๆ ให้ทำงานได้หลากหลายมากขึ้น

note : ให้ลองเปิด Automator แล้วมั่วไปด้วยกันเลยครับ ยิ้ม

ขั้นตอนที่ 1 :
เรียกใช้งาน Automator ขึ้นมาจากใน Applications/Automator.app เราจะเจอหน้าต่าง welcome screen แบบนี้

scale-img-01_1.jpg

อธิบาย

  1. เลือกหัวข้อ Photo & Images : ตรงนี้จะเป็นการให้ Automator เริ่มต้น workflow ให้เราครับในกรณีที่เราไม่เคยใช้มาก่อนทำให้เริ่มต้น workflow ได้เร็วขึ้น
  2. มี 2 หัวข้อให้เลือก
    • ในหัวข้อ Get content from เลือก my Mac : เพื่อบอกว่าเราต้องการนำไฟล์จากที่ไหนมาป้อนให้ workflow ของเรา
    • เลือก Ask for image files when my workflow runs : ตรงนี้จะเป็นการบอกให้มีการถามหาไฟล์ภาพเมื่อเราสั่งงานไปแล้ว
  3. จากนั้นเลือก Choose เพื่อยืนยัน

ขั้นตอนที่ 2:
เราจะเข้าสู่หน้าต่างของ Automator พร้อมกับมี Action 1 อันมาให้แล้วคือ Ask for Finder Items

scale-img-06_1.jpg

ขั้นตอนที่ 3:

scale-img-07-1_1.jpg

อธิบาย

  1. ในช่อง Library ด้านซ้ายสุด ให้เลือก Photos หมวดเกี่ยวกับรูปภาพ (มี icon เป็นรูปไฟล์ภาพ)
  2. จากนั้นในช่องถัดมา ค้นหา Action ชื่อว่า Scale Images แล้วให้ลาก Action นี้มาไว้ใน workflow pane ทางด้านขวามือครับ ในตำแหน่งที่ 3

ขั้นตอนที่ 4:
จะมีหน้าต่างมาถามเราขึ้นมามีใจความว่า Action นี้จะทำการเปลี่ยนแปลงไฟล์ภาพต้นฉบับนะ เราต้องการที่จะสร้างสำเนาเอาไว้หรือไม่

scale-img-02_1.jpg

ให้เลือก Add เพื่อเป็นการสร้างสำเนาไฟล์ต้นฉบับเอาไว้อีกชุดหนึ่งกันพลาด

note : สำหรับคนที่แม่นแล้ว หรือว่าทำเสาเนาไฟล์เอาไว้ก่อนหน้านี้แล้ว ก็เลือกข้ามตรงนี้ไปก็ได้ครับ ซึ่งถ้าเลือกข้ามตรงนี้ไป (Don’t Add) ก็จะไม่มี Action Copy Finder Items โผล่ขึ้นมาเหมือนขั้นตอนต่อไปนะครับ =)

ขั้นตอนที่ 5:
หลังจากเราเลือก Add ไปแล้ว จะเห็นว่าจะมี workflow เพ่ิมขึ้นมาคั่นตรงกลางระหว่างอันแรก (1) ที่เราสร้างเอาไว้แต่เดิม กับ Scale images (2)ที่เราเลือกเข้าไปครับ

scale-img-03-1_1.jpg

workflow อันนี้มีชื่อว่า Copy Finder Items จะเป็นการสร้างสำเนาไฟล์ที่เรานำมาใส่ใน workflow ไว้อีกชุดหนึ่ง ก่อนที่จะเปลี่ยนขนาดครับ ซึ่งสรุปแล้ว หลังจาก workflow ชุดนี้ทำงาน เราจะได้ไฟล์ภาพสุดท้าย 2 ชุดด้วยกันคือ

  1. ไฟล์ที่ถูกเปลี่ยนขนาดแล้ว
  2. ไฟล์ภาพเดิม(สำเนาต้นฉบับ)ก่อนที่จะถูกเปลี่ยนขนาด

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

  • Action#1 :หลังจากกด RUN ไปแล้ว จะมีหน้าต่างขึ้นมาให้เรา browse ไฟล์ภาพที่ต้องการจะย่อขนาด ให้เลือกไฟล์ภาพขึ้นมา (จะมากกว่า 1 ไฟล์ก็ได้ ถ้าเราติ๊กที่ Allow Multi Selection เอาไว้) จากนั้นกด Choose
  • Action#2 : มีการสร้างสำเนาไฟล์ภาพที่เราเลือกเอาไว้ขนาดเท่าต้นฉบับลงใน Desktop (หรือที่อื่นถ้าเกิดเราเปลี่ยนใน workflow) แบบอัตโนมัติ
  • Action#3 : ไฟล์ต้นฉบับที่เราเลือกเอาไว้ จะถูกย่อเป็นขนาดใหม่ตามค่าที่เรากำหนดใน workflow แบบอัตโนมัติ หลังจากเค้าทำงานจบ จะมีเสียงแจ้งเตือนเรามาครับ =)

สำหรับการสร้าง workflow การย่อรูปหลัก ๆ จะมีแค่นี้ครับ แต่ผมจะเขียนต่อเพื่ออธิบายถึงขั้นตอนต่าง ๆ แบบละเอียดต่อไปนะครับ
Action #1 : Ask For Finder Items
เป็น action แรกที่เราสร้างขั้นมาจากหน้าต่าง welcome screen ตอนเปิด automator ขึ้นมา

scale-img-03-2-1_1.jpg

  • Prompt : คือจะมีหน้าต่างขึ้นมาให้เราเลือกเมื่อ workflow ทำงานว่าเราจะเอาไฟล์ภาพจากไหนใส่เข้ามา (เปลี่ยนแปลงไม่ได้ เป็นค่า Fix ของ action ตัวนี้)
  • Start at : ให้เริ่ม browse จาก Desktop (เปลี่ยนแปลงได้ตามเหมาะสม)
  • Type : เราสามารถเลือกได้ว่าจะเอาเฉพาะ file หรือว่าทั้ง folder เข้ามา ให้เลือกเป็น Files เพียงอย่างเดียวเอาไว้ เพราะคำสั่งเปลี่ยนขนาดภาพที่อยู่ด้านล่างจะไม่รองรับกับข้อมูลแบบ Folder ครับ
  • Allow Multiple Selection : เลือกติ๊กตรงนี้เพื่อที่จะสามารถเลือกไฟล์ได้มากกว่าครั้งละ 1 ไฟล์

note : ในหัวข้อ Type ถ้าเลือกเป็น Folder ไว้ จะไม่มีการเปลี่ยนขนาดภาพเกิดขึ้นจาก Action ที่ 3 แต่จะมีการทำสำเนาเกิดขึ้นจาก Actions ที่ 2 ครับ เพราะ Action ที่ 2 : Copy Finder Items นั้นรองรับกับข้อมูลแบบ Folder ได้ด้วย... ถ้ายังงงอยู่ ก็ลองเลยครับ =)
Action #2 : Copy Finder Items
Action นี้จะทำหน้าที่ copy files/folder ทุกอย่างที่ผ่านเข้ามาจาก action ด้านบน แล้วทำสำเนาขึ้นมาใหม่ยังปลายทางที่เราต้องการครับ

scale-img-03-3_1.jpg

  • To: กำหนดว่าเราต้องการสร้างสำเนาไฟล์ขึ้นมาที่ไหน
  • Replacing existing files : ถ้าเลือกตรงนี้เอาไว้ แล้วเกิดกรณีไฟล์ต้นฉบับกับไฟล์สำเนามาอยู่ที่เดียวกัน (เช่นบน desktop เหมือนกัน) เค้าจะ copy ทับไฟล์เก่าที่เคยมีในชื่อเดียวกันไปครับ กลับกัน ถ้าเราปล่อยไว้ไม่ติ๊ก ถ้าเกิดเราสร้างสำเนามาอยู่ที่เดียวกับต้นฉบับ เค้าจะเปลี่ยนชื่อไฟล์ให้ครับ ไม่เซฟทับของเดิม จากตัวอย่างผมเว้นตรงนี้เอาไว้ครับ กันพลาด =)

Action #3 :Scale Images เป็นคำสั่งเปลี่ยนขนาดของไฟล์ภาพ

scale-img-03-4_1.jpg

โดยทั่วไปเราสามารถกำหนดการเปลี่ยนขนาดไฟล์ภาพได้ 2 แบบคือ

  • To Size (pixels) : จะเป็นการกำหนดค่า Pixel (จะกำหนดแบบ Fix ตายตัว หรือจะกำหนดเองตอน workflow ทำงานก็ได้ ดู tips ด้านล่างต่อไปประกอบครับ)
  • By Percentage : ย่อขนาดเป็นเปอร์เซ็นต์ ค่อนข้างสะดวกมากสำหรับคนที่ต้องย่อภาพในอัตรส่วนที่เท่า ๆ กันครั้งละเยอะ ๆ

Tips
ถ้าเราต้องการกำหนดขนาดเองทุกครั้งที่ workflow ทำงาน เราสามารถทำได้ โดยเลือกไปที่ Options (ใน Scale Images นี่ล่ะครับ) แล้วเลือก Show this action when the workflow runs

ซึ่งถ้าเราเลือกตรงนี้ไปแล้ว และสั่ง Run workflow ให้ทำงาน จะมีหน้าต่างนี้ขึ้นมาถามเราครับ ให้เรากำหนดได้ว่าจะย่อรูปแบบไหน ที่ขนาดเท่าไหร่

scale-img-08_1.jpg

ผมแบ่งเนื้อหาตัวอย่างของ workflow ย่อรูปออกเป็น 2 ตอนนะครับ เพื่อสะดวกในการเปิดหน้าเวป .. จากตรงนี้เป็นอันหมดเนื้อหาในตอนที่ 1 แล้ว เข้าไปอ่านตอนที่ 2 ได้ที่ http://macmuemai.com/content/538

Automator : ตัวอย่าง workflow #2/2 - ย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว

เป็นตอนที่ 2 ต่อจาก Automator : ตัวอย่าง workflow #1/2 - ย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว นะครับ เนื้อหาในตอนนี้จะต่อเนื่องมาจากตอนที่แล้วที่หลังจากสร้าง workflow และรู้จักการทำงานของเค้าไปบ้างแล้ว เนื้อหาในตอนนี้จะกล่าวถึง

  • การนำไปประยุกต์ใช้งานจริงในรูปแบบต่าง ๆ
  • การเพิ่มความสามารถให้กับ workflow แบบบ้าน ๆ

เมื่อเราสร้าง workflow เสร็จไปแล้วใน Automator แต่ผมต้องการที่จะใช้งาน workflow นี้แบบรวดเร็วโดยที่ไม่จำเป็นต้องเปิด Automator ขึ้นมาสิ่งที่ผมต้องทำมีตามนี้ครับ

note : ดูเรื่อง Automator : การ Save workflow ของเรา ประกอบ

ขั้นตอนที่ 1
ในหน้า Automator ของเราที่เพิ่งทำเสร็จไป ให้ไปที่เมนูบาร์เลือก File/ Save as..

save-as-02_0.jpg

save-as-01_0.jpg

จะมีหน้าต่างใหม่ขึ้นมา ให้กำหนดค่าตามนี้ครับ

  1. ตั้งชื่อที่เราต้องการ (ควรจะเกี่ยวกับ workflow ที่เราจะใช้นะครับ จะได้สะดวกเวลาใช้งานภายหลัง)
  2. เลือกว่าจะ Save ไปไว้ที่ไหน
  3. เลือก File Format เป็นแบบ Application เพื่อที่จะให้ workflow นี้ทำงานได้ด้วยตัวของเค้าเอง (Stand alone) ครับ
  4. จากนั้นเลือก Save เพื่อยืนยัน

จริง ๆ จะหมดแค่ตรงนี้ก็ได้ครับ แต่ถ้าเราต้องการใช้งาน workflow ให้สะดวกกว่านั้น ให้ดูขั้นตอนต่อไปครับ จะเป็นการนำ workflow ที่เรา save ไว้เป็น application นี้มาฝังอยู่ใน Finder ของเรา

ขั้นตอนที่ 2
ใน Finder ให้ browse ไปยังที่ ๆ เรา save เค้าเอาไว้จากขั้นตอนด้านบน เราจะเห็นว่า สัญลักษณ์ไฟล์เป็น icon ที่ไม่เหมือนเรา Save workflow ตามปรกติ คือถ้าเราเลือก save แบบ Application เค้าจะมีหน้าตาแบบนี้ (เหมือนหุ่นยนต์ครับ)

save-as-03_0.jpg

note : สำหรับ workflow ที่เรา save ไว้แบบ application นี้ เค้าจะเหมือน app ทั่วไปตามปรกตินะครับ สามารถที่จะนำไปใช้เพื่อทำงานแบบเดียวกันบนเครื่อง Mac เครื่องอื่นได้

ขั้นตอนที่ 3
ใน FInder ให้คลิ๊กที่ icon ของ workflow ที่เป็นแบบ Application นี้ แล้วลากเค้ามาไว้บนที่ว่างของ Toolbar ใน Finder ครับ (ต้องค้างเอาไว้สักครู่นึง)

save-as-04_0.jpg

แล้วเราจะได้แบบนี้..

save-as-05_0.jpg

ซึ่งหลังจากนี้ต่อไปถ้าเราต้องการจะเรียกใช้งาน workflow นี้ก็สามารถคลิ๊กได้จากบน finder เราได้เลยโดยที่ไม่จำเป็นต้องเปิด Automator ขึ้นมาแล้วครับ =)

note : บน Toolbar ของ Finder เราสามารถลาก app ต่าง ๆ มาเก็บเอาไว้ในนี้ได้เหมือนกันด้วยวิธีเดียวกันนี้ครับ

Tips
ถ้าเราต้องการให้ workflow นี้ทำงานจากไฟล์ที่เราเลือกเอาไว้เลยตอนที่สั่งงาน แทนที่จะต้องเลือกไฟล์ใหม่ทุกครั้งหลังจากสั่ง workflow ให้ทำงาน

  • ให้เปลี่ยน Action แรกใน workflow เป็น Files/Folder : Get Selected FInder Items ครับ

ถ้าต้องการย่อภาพสำหรับลงในเวป

  • เพิ่ม Sharpen หรือ Photo effect อื่น ๆให้พิ่ม Action = Photos : Apply Quartz Composition Filter to Image Files ลงไปหลัง Action สุดท้ายครับ และกำหนด Option ให้แสดง workflow ตอนทำงาน เพื่อที่เราจะได้เลือกได้ว่าจะปรับตรงไหนบ้าง (ถ้าใช้แล้วไม่ได้ผล ให้แทรกลงไปก่อนหน้าแทน)
  • ถ้าต้องการเปลี่ยนชนิดของไฟล์ภาพ ให้เพิ่ม Action = Photos : Change Type of Images ลงไปใน Action สุดท้าย และเลือก Option ให้แสดง workflow ตอนทำงาน

Automator : ตัวอย่างการใช้งานค่า Variables ใน Automator

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

Variables : เป็นคล้าย ๆ ตัวแปรที่จะจำข้อมูลของผลลัพท์ที่เกิดขึ้นใน workflow แล้วนำมาใช้ตรงไหนก็ได้ของ workflow ครับ .. คือปรกติการทำงานของ workflow ทั่วไป จะทำงานแบบไล่จากบนลงล่าง เราจะสั่งข้ามขั้นตอนหรือว่าใช้ผลลัพท์จาก action อื่นมาเป็น input ไม่ได้.. แต่ Variables จะเป็นตัวช่วยให้เราทำตรงนี้ครับ ซึ่งทำให้เราสามารถสร้าง workflow ที่สลับซับซ้อนขึ้นกว่าเดิมได้

workflow ปรกติเป็นประมาณนี้

  • ขั้นตอนที่ 1 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 2 เท่านั้น
  • ขั้นตอนที่ 2 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 3 เท่านั้น
  • ขั้นตอนที่ 3 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 4 เท่านั้น
  • ขั้นตอนที่ 4 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 5 เท่านั้น
  • ขั้นตอนที่ 5 จบการทำงาน

ถ้าเราใช้ Variables ช่วย เราสามารถทำได้แบบนี้

  • ขั้นตอนที่ 1 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 2,3,4 หรือ 5
  • ขั้นตอนที่ 2 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 3 ,4 หรือ 5
  • ขั้นตอนที่ 3 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 4 หรือ 5
  • ขั้นตอนที่ 4 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 5
  • ขั้นตอนที่ 5 จบการทำงาน

note : ที่ไฮไลท์สีนำเงินคือความแตกต่างในการใช้ Variables เข้าช่วยครับ

ตัวอย่าง :
จากเดิมผมทำ workflow สำหรับย่อรูปปรกติทั่วไปแต่ผมต้องการเพิ่มขั้นตอนบางอย่างลงไปให้ workflow เดิมครับ มีโจทก์เป็นแบบนี้..

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

จากตรงนี้ จะเห็นว่า แค่ย่อรูปกับสร้าง folder ขึ้นมาใหม่ workflow ปรกติก็สามารถทำได้อยู่แล้ว แต่จะทำอย่างไร ให้มีการย้ายไฟล์รูปที่ย่อเสร็จแล้วลงไปใน folder ใหม่ ... ตรงนี้เป็นขั้นตอนที่ปรกติเราทำแบบอัตโนมัติไม่ได้ เราเลยต้องอาศัย Vaiables ช่วย

ภาพรวม
workflow ย่อรูปของเดิมเป็นแบบนี้

  • Action 1 : Ask for Finder Items
  • Action 2 : Copy Finder Items
  • Action 3 : Scale Images

workflow ใหม่จะแทรก Action ต่อไปนี้ลงไป (Action ใหม่จะเป็นสีแดง)

  • Action 1: Files & Folders / New Finder
  • Action 2 : Utilities / Set Value for Variables
  • Action 3 : Ask for Finder Items
  • Action 4 : Copy Finder Items
  • Action 5 : Scale Images

อธิบาย
เปิด workflow สำหรับย่อรูปของเราที่ save เอาไว้ขึ้นมา (ใครยังไม่มี ลองทำตามในบทความก่อนหน้านี้นะครับ ยิ้ม)

ขั้นตอนที่ 1
แทรก Action : New Folder จากในหัวข้อ Files & Folders มาไว้ในขั้นตอนแรก ถ้าต้องการตั้งชื่อ Folder ใหม่เองตอน workflow ทำงาน ให้เลือก Options : Show this action when the workflow runs ครับ

note : ถ้าใครยังสร้าง workflow ไม่คล่อง รบกวนดู ตัวอย่าง workflow สำหรับย่อรูป ทั้ง 2 ตอนประกอบนะครับ

ขั้นตอนที่ 2
แทรก Action : Set Value for Variables (ในหัวข้อ Utilities) เป็น Action ที่ 2 ครับ

sample-va-03_0.jpg

เมื่อแทรกเข้ามาแล้ว หน้าตาของ Action : Set Value for Variables จะเป็นแบบนี้

sample-va-01_0.jpg

เสร็จแล้วจะได้หน้าตา workflow ใหม่ประมาณนี้ครับ (ผมพับ workflow บางอันเก็บไป เปิดเฉพาะอันที่เกี่ยวข้องกับเนื้อหาใหม่นะครับ)

sample-va-02_0.jpg

สังเกตว่า Action 2 กับ Action 3 นั้นไม่เชื่อมต่อกันนะครับ หมายความว่า workflow นี้จะแบ่งการทำงานออกเป็น 2 ชุดด้วยกัน

  • ชุดแรกคือการสร้าง folder ใหม่แล้วจำค่านั้นเอาไว้
  • ชุดที่สองคือคำสั่งย่อรูปตามปรกติ

วิธีแบ่ง workflow ให้ทำแบบนี้ครับ
ไปคลิ๊กขวา (Ctrl+Click) ที่ Action : Ask for Finder Items แล้วเลือก Ignore Input

ignor-input_0.jpg

แล้วเราก็จะได้หน้าตาของ workflow แบบนี้มา

ingnor-input-1_0.jpg

note : สังเกตดูว่า Actions ไม่ต่อกันแล้วนะครับ

ขั้นตอนที่ 3
ใน Action ที่ 2 ให้คลิ๊กไปที่คำว่า New variable.. ในช่องที่มีให้เลือก

sample-va-04_0.jpg

จะมี pop up หน้าต่างใหม่เล็ก ๆ ขึ้นมาให้เราตั้งชื่อ Variables นี้ครับ

sample-va-05_0.jpg

เค้าจะตั้งมาให้เองว่า New Storage ส่วนถ้าใครต้องการจะเปลี่ยนเป็นชื่ออื่นก็ทำได้จากตรงนี้ครับ แต่ในบทความนี้ผมอ้างอิงกับคำว่า New Storage เป็นหลัก จากนั้นกด Done แล้วจะเราจะเห็นช่อง Variable แสดงขึ้นมาที่ด้านล่าง workflow pane พร้อมด้วยค่า New Storage เป็น Variable ที่เราเพิ่งสร้างไปตะกี๊ขึ้นมาครับ ตามรูปนี้

sample-va-06_0.jpg

การสร้าง Variables ในขั้นตอนนี้ จะหมายถึงการจำค่า Folder ที่เราสร้างใหม่นี้เอาไว้ ทั้งชื่อ Folder และ Path มายัง Folder นี้ครับ

ขั้นตอนที่ 4
จากหน้าต่าง Variable นี้ ให้เราคลิ๊กตัว New Storage แล้วลากขึ้นมาไว้แทนตำแหน่ง To ของ Action : Copy Finder Items ครับ แบบนี้

sample-va-07_0.jpg

แล้วเราจะได้ผลลัพท์แบบนี้

sample-va-09_0.jpg

เสร็จแล้วครับ ภาพรวมของ workflow ที่เสร็จแล้วจะได้แบบนี้

sample-va-10_0.jpg

จะเห็นว่ามีตัว Variable แทรกอยู่ 2 จุด คือ

  • ใน Action 2 : ให้โปรแกรมจำ Folder ใหม่เอาไว้ และนำ path มายัง folder ใหม่นี้ไปใช้ใน
  • และใน Action 4 : Copy Finder Items ครับ เมื่อเราสั่ง workflow นี้จะมีการสร้าง Folder ขึ้นมาใหม่ (ตรงนี้จะเลือก Option ให้แสดงขึ้นมาตอน workflow ทำงานด้วยก็ได้ เพื่อที่เราจะได้ตั้งชื่อ Folder เอง ถ้าไม่เลือกตรงนี้ folder ใหม่ที่ถูกสร้างขึ้นจะมีชื่อว่า untitled folder เสมอ

จากนั้นลองสั่ง RUN workflow ใหม่นี้ดูถ้าไม่มีอะไรผิดพลาด จะมี folder เกิดขึ้นใหม่ และภาพที่ย่อขนาดแล้วจะถูกนำมาใส่ไว้ใน folder นี้ครับ

หมดแล้วครับ หวังว่าคงพอเป็นประโยชน์กับผู้ใช้งานแมคมือใหม่ขึ้นมาบ้าง ไม่มากก็น้อยนะครับ ยิ้ม

ก๊อก