Tham dự Tech Lounge

Tham dự Tech Lounge


[Thủ thuật] Hướng dẫn nâng cao Automator: hiện tuỳ chọn, sử dụng biến

Duy Luân
7/8/2011 14:21Phản hồi: 28
[Thủ thuật] Hướng dẫn nâng cao Automator: hiện tuỳ chọn, sử dụng biến
Ở bài trước, chúng ta đã làm quen với những thao tác cơ bản để tạo một workflow trong Automator, nắm được cách hoạt động cũng như làm một số ví dụ đơn giản. Tuy nhiên, Automator chưa dừng lại ở đó mà ứng dụng này còn mang trong mình rất nhiều khả năng cao cấp. Trong bài viết kì này, chúng ta sẽ tiếp tục nghiên cứu những nội dung khác của Automator, đó là: cách sử dụng biến, một số tuỳ chọn nâng cao khi chạy Workflow, Service, Folder Action và Image Capture Plugin.

Lưu ý: bài viết này dành cho những ai đã biết cách dùng Automator ở mức cơ bản. Nếu chưa biết, bạn hãy xem qua bài hướng dẫn cơ bản nhé.


1. Hiển thị thêm tuỳ chọn khi chạy Workflow


Thông thường, khi chạy một workflow, chúng ta sẽ thiết lập sẵn nhiều thông số. Trong ví dụ 1 mình đưa ra ở phần hướng dẫn cơ bản, chúng ta thực hiện thao tác thay đổi kích cỡ ảnh mặc định về 700 pixel. Vấn đề ở đây là không phải lúc nào ta cũng dùng đến con số 700, muốn hơn hoặc bớt thì làm thế nào?


Trước hết, bạn mở lại Workflow mà chúng ta đã làm. Trong action Scale Image, bạn nhấn vào nút Options rồi chọn vào ô "Show this action when the workflow run". Làm như vậy thì khi chúng ta chạy workflow, đến lượt của action Scale Image thì một hộp thoại nhỏ sẽ xuất hiện với giao diện y hệt như những gì bạn thấy trong Automator.


Một tuỳ chọn nâng cao nữa cho bạn đó là chỉ hiện một hoặc một số điều khiển trong lúc chạy Workflow mà thôi. Chẳng hạn, ta chỉ muốn hiện ô nhập kích thước pixel chứ không cho phép thay đổi cách thức resize. Để thực hiện, bạn đánh dấu chọn vào ô "Show only the selected items". Một số khung màu đen sẽ bao lấy những điều khiển của action. Bạn đánh dấu chọn vào một (hoặc nhiều) nội dung muốn hiển thị khi chạy.


Kết quả, chúng ta sẽ được một hộp thoại như thế này:


2. Sử dụng biến trong Automator


Biến (variable) trong Automator là một giá trị có thể thay đổi tuỳ theo việc chạy Workflow của chúng ta. Chẳng hạn, biến ngày tháng sẽ lấy ngày tháng khi chạy, tức là mỗi khi chúng ta chạy thì giá trị của biến khác nhau. Biến trong Automator có hai loại:

+ Biến có sẵn: các biến này được Apple thiết kế để lấy một số thông tin nào đó, chẳng hạn như tên người dùng máy Mac, địa chỉ IP của máy, đường dẫn đến thư mục Music,… Các biến này có thể truy xuất bằng cách nhấn vào nút Variables trong Automator. Các biến có biểu tượng chữ V là biến có thể đổi tên được. Các biến còn lại không thể đổi tên.

+ Biến do người dùng tạo: các biến này được tạo ra bởi chính bạn, và biến này không cần phải có loại (chẳng hạn như Text, Files/Folders,… tất cả đều không cần phải quan tâm). Để tạo một biến mới, bạn nhấn vào nút "Show or hide variable list" ở góc dưới của cửa sổ log (xem hình để dễ hiểu hơn). Sau đó, nhấn chuột phải vào bất kì chỗ nào trong khung Variable và chọn "New Variable" để tạo mới. Để gán giá trị cho biến, bạn cần dùng đến action "Set Value of Variable", còn để lấy giá trị trong biến có sẵn ra để làm gì đó, action "Get Value Of Variable" là rất cần thiết.

Quảng cáo




Để bạn hiểu rõ hơn biến là gì, ta sẽ làm một ví dụ nho nhỏ cho phép bạn nhập bất cứ nội dung gì, sau đó hiện một hộp thoại để xác nhận lại nội dung đó. Bạn thử suy nghĩ xem những action nào cần thiết cho công việc này nhé, khoan hãy đọc xuống phần bên dưới. Tập cho quen đi nào!

Các action cần thiết:
  • Ask for Text: hiển thị hộp thoại cho phép chúng ta nhập nội dung vào đó.
  • Set Value of Variable: đặt giá trị mà ta vừa nhập vào biến.
  • Ask for Confirmation: hiển thị hộp thoại để xem lại nội dung mà ta vừa nhập.

Đầu tiên, bạn sẽ tạo một biến mới bằng cách chuyển sang danh sách biến, nhấp chuột phải và chọn "New Variable". Bạn có thể đặt bất kì tên nào bạn thích cho biến ở ô "Name" (ở đây mình đặt tên là "abc). Thường thì người ta sẽ đặt tên biến theo đúng chức năng của nó để dễ dàng phân biệt giữa các biến với nhau. Lưu ý, TUYỆT ĐỐI KHÔNG ĐẶT TÊN BIẾN BẰNG TIẾNG VIỆT CÓ DẤU. Mình thử nghiệm đặt tên biến có dấu thì Automator liên tục bị Crash đấy. Ô "Value" là giá trị mặc định cho biến. Giá trị mặc định này sẽ hiển thị nếu như những action của ta không gán giá trị mới cho biến.


Sau khi đã tạo biến xong, bạn tìm và kéo thả những action mình đã liệt kê trong mục "Các action cần thiết" vào Workflow, theo đúng thứ tự nhé. Để cho biến vào một nội dung nào đó, bạn sẽ thực hiện thao tác kéo thả tên biến trong khung liệt kê biến vào đúng vị trí của nó. Chẳng hạn, ta cần đặt giá trị mà người dùng đã nhập trong action "Ask for Text" vào biến "abc", kéo thả chữ abc vào mục Variable của action "Set Value of Variable". Nếu bạn chỉ tạo duy nhất 1 biến, action "Set Value of Variable" sẽ tự động thêm biến đó, nên chúng ta không cần kéo thả nữa.

Ở action "Ask for Confirmation", bạn kéo thả biến "abc" vào mục Message. Làm như vậy thì khi chạy, hộp thoại sẽ hiển thị nội dung của biến. Bạn cũng có thể thêm thắt một chút, chẳng hạn như "Nội dung bạn đã nhập là " rồi kéo thả biến "abc" vào sau cùng.

Quảng cáo




Vậy là đã xong phần xây dựng Workflow. Tiến hành thử nghiệm và xem kết quả nhé. Sử dụng biến cũng đâu có gì khó đâu phải không? Nếu muốn sử dụng biến có sẵn của Apple, bạn cũng kéo thả tên biến vào chỗ cần dùng trong Workflow. Thế thôi, không có gì phức tạp cả.




Video hướng dẫn cách làm:



Các biến thường dùng và chức năng của nó:


  • Application: lấy đường dẫn đến thư mục Application trong Mac OS.
  • Computer Name: lấy tên của máy Mac bạn đang dùng.
  • Computer uptime: thời gian máy đã mở.
  • Current day/month/time/weekday/year: lấy ngày/tháng/giờ/ngày trong tuần/năm hiện tại.
  • Documents: hiện đường dẫn tới thư mục Documents
  • Downloads: hiện đường dẫn tới thư mục Documents
  • First/Last name: lấy tên/họ của người sử dụng máy
  • Home: hiện đường dẫn tới thư mục Home
  • Home email address: lấy địa chỉ email của người dùng
  • Host name: lấy tên Host của máy khi truy cập mạng
  • IP address: hiển thị địa chỉ IP của máy
  • Path: lấy một đường dẫn bất kì
  • Random identifier: tạo một dãy ID bất kì gồm cả chữ và số.
  • Random number: biến này tạo ra một con số ngẫu nhiên.

3. Dùng Automator để tạo Service


Service là những "dịch vụ" nhằm thực thi một nhiệm vụ nào đó. Kể từ Mac OS 10.6 Snow Leopard, Service được thiết kế lại sao cho dễ dùng nhất. Ta có thể coi Service là những ứng dụng nho nhỏ, có thể kích hoạt ngay từ Menu chuột phải. Do tích hợp vào menu này nên ta có thể áp dụng Service cho rất nhiều ứng dụng, điển hình là Finder, Safari, Word, Excel, TextEdit, Pages, Keynote,…

Service có thể tuỳ chỉnh được một cách dễ dàng bằng cách vào một ứng dụng nào đó, chẳng hạn như Finder, nhấn vào tên ứng dụng ở thanh tác vụ, chọn Services. Các service có sẵn thích ứng với ứng dụng mà bạn chọn sẽ hiện lên. Muốn tuỳ chỉnh, thêm bớt Service, bạn nhấn vào Services Preference.


Bây giờ, chúng ta sẽ tạo một Service tích hợp vào Menu chuột phải để chuyển đổi kích thước ảnh nhé. Trước hết, bạn khởi chạy Automator rồi chọn vào Service trong hộp thoại hiện ra. Việc chạy một Service cũng như một Workflow thông thường thôi, khác một chút là nó có thể lấy được input từ một thứ gì đó ngay từ menu chuột phải, ở ví dụ này là lấy tập tin ảnh.


Việc đầu tiên bạn cần nhớ khi làm một Service Workflow đó là phải chọn input cho action đầu tiên trong mục "Service recieves selected". Bạn cũng có thể không chọn input ("no input"). Kế đó, ta phải chọn ứng dụng để Service chạy tại mục "in". Trong những ứng dụng khác, Service sẽ không hiện lên trong menu chuột phải. Automator cũng cấp cho bạn tuỳ chọn "any application" nếu như bạn muốn Service có thể chạy ở bất cứ đâu, trong bất kì ứng dụng nào. Ở ví dụ của chúng ta đang thực hiện, input sẽ là "Image Files" (vì ta đang thao tác trên ảnh) và giới hạn hoạt động của Service là ứng dụng Finder mà thôi.


Các action mà ta cần để thực hiện workflow này:
  • Copy Finder Items: sao chép những tập tin gốc sang một thư mục khác rồi mới chỉnh kích thước. Thư mục này cũng dùng làm thư mục chứa các ảnh đã chỉnh sửa.
  • Scale Images: chỉnh sửa kích thước ảnh.

Với hai action "Copy Finder Items" và "Scale Images", bạn hãy cho nó hiện ra khi chạy Workflow để ta có thể nhập kích thước muốn chỉnh sửa và chọn đường dẫn cho thoải mái. Còn nếu không thích và muốn tự động hoá, bạn hãy chỉnh các thông số trước trong Automator.


Sau khi đã hoàn tất, bạn lưu lại dưới tên "Chỉnh kích thước ảnh". Tập tin này sẽ tự động được chép vào thư mục ~/Library/Services và thêm vào menu chuột phải của Finder. Nếu máy không tự thêm cho bạn, bạn truy cập vào Services Preferences như hướng dẫn ở phía trên, tìm đến mục "Chỉnh kích thước ảnh" rồi đánh dấu chọn vào. Quay lại Finder và tận hưởng kết quả nhé. Bạn có thể chọn nhiều tập tin cùng một lúc. Tuỳ theo "óc sáng tạo" của bạn, hãy tạo thêm nhiều Services vào menu chuột phải để chúng ta có thể hoàn thành công việc hằng ngày một cách nhanh chóng, khoa học hơn.


4. Folder Action


Folder Action là những hoạt động tự làm đối với một thư mục nào đó mà bạn định sẵn hoặc chọn khi chúng ta chạy Workflow, nhưng thông thường thì ta sẽ chọn trước cho nhanh. Bây giờ, chúng ta sẽ làm hai ví dụ:

Ví dụ 1: tạo Folder Action để khi chép tập tin vào thư mục nào đó thì những tập tin đó sẽ được đổi tên hàng loạt theo quy tắt của bạn.
Ví dụ 2: tự động tạo một tập tin PDF từ những hình ảnh được thêm vào thư mục.


Trước tiên chúng ta sẽ thực hiện ví dụ 1 nhé. Các action mà ta cần:

  • Get Selected Finder Items: chọn tất cả tập tin được chép vào thư mục.
  • Rename Finder Items, chọn kiểu Make Sequential: thực hiện thao tác đổi tên tập tin. Bạn hãy nhập tên muốn đổi vào đây luôn hoặc cho hiện cửa sổ nhập tên khi chạy cũng được.

Trước khi thêm các action vào Workflow, bạn cần chọn một thư mục để workflow chạy trong mục "Folder Action receives files and folder added to: ". Hãy tạo một thư mục mang tên "Doi tap tin hang loat" và chọn nó. Sau đó, bạn kéo thả các action và wrokflow. Xong xuôi, bạn hãy lưu nó lại dưới tên tuỳ ý. Bây giờ hãy thử nghiệm bằng cách chép một số tập tin vào thư mục này, bạn sẽ thấy nó được đổi tên một cách tự động.






Với ví dụ 2: bạn chỉ cần một action duy nhất là "New PDF from Images" mà thôi. Ngay sau khi thêm tập tin, một tập tin PDF sẽ xuất hiện tại một nơi mà bạn chọn. Hãy lưu ý rằng tuỳ theo độ nặng của ảnh mà thời gian tạo PDF sẽ lâu hay mau đấy. Đừng quá sốt ruột nhé.

5. iCal Alarm và Image Capture Plugin



Khi chọn iCal Alarm, workflow của bạn sẽ được khởi động khi một sự kiện bất kì được kích hoạt báo động (sự kiện này phải được quản lí bởi ứng dụng iCal của Mac) và không có input nào cả. Trong khi đó, nếu bạn chọn Image Capture Plugin thì sau khi chụp một bức ảnh bằng ứng dụng Image Capture Plugin, workflow sẽ chạy và nhận nó làm input. Tuy nhiên chúng ta thường không dùng đến chúng. Nếu bạn có ý tưởng gì hay về việc sử dụng hai tính năng này, hãy chia sẻ với mọi người nhé.

Vậy là chúng ta đã đi qua gần hết các tính năng mà Automator cung cấp qua hai bài viết, từ cơ bản đến nâng cao. Những bạn đọc bài viết này mà vẫn chưa hiểu rõ thì hãy xem lại bài hướng dẫn cơ bản nhé. Chúc mọi người thành công với Automator.
28 bình luận
Chia sẻ

Xu hướng

Cái này nghe và đọc nó cứ IT thế nào ấy bác ợ... em đọc xong cả bài 1 và bài 2 mà vẫn thấy mình ngu người... đọc xong vẫn chả hiểu mô tê gì cả... Có vẻ em sài Mac vẫn lãng phí quá...😔 Nói chung là lằng nhằng thế này thì em chả dám động vô...
mình cùng quan điểm với bạn hic hic
mrsilen
TÍCH CỰC
13 năm
đọc qua 1 lần chưa làm được, nghiên cứu đã..........cont
advance, !

option chủ top có cả tiếng việt !
iLeo
CAO CẤP
13 năm
Bài này đúng là nâng cao hơn thật, đọc chưa hiểu lắm. Thôi thì Bookmark lại nghiên cứu dần vậy
Anh hướng dẫn cho mọi người một cách chặt chẽ hơn vào anh, hơi ù mờ anh ạ VD :
Làm như thế này thì được như thế nào hoặc làm như thế nào để được như thế này thì hay hơn anh ạ ....
mr_namlong
ĐẠI BÀNG
13 năm
lại là apple nữa hả ....? sao đi đâu cũng gặp vậy ta ....?
Xem qa khó hiểu qa, chắc trung thành với windown XP r`😔:(:(:(:(:(:(:(:(
Mac àh! K hiểu cái này là cái gì hết! Nhưng bài viết khá dài! Chắc là cũng cao siêu lắm đây...
THanks bài rất hay và khá hữu dụng. Phần I mình làm chạy khác ngon nhưng 1 điều tệ là nó chạy ngầm 😔( mình ko xem được nó convert ntn đến đâu, chỉ thấy CPU chạy ầm ầm :(
Có cách nào cho nó display tiến trình đc ko
ziniboy95
ĐẠI BÀNG
13 năm
mình không có xài máy MAC! Nhưng đọc 2 bài rùi mà củng không hiểu được công dụng gì cả!

Cái này có tính tham khảo cao hơn.it khi mọi người phải dùng đến ứng dụng như vậy.Nếu đọc mà không thực hành thì cũng quên thôi.Đại loại là có 1 ứng dụng như thế, khi nào cần dùng đến sẽ xem lại.
nvk155
ĐẠI BÀNG
13 năm
mình nhớ là mình đã dùng cái nì : dùng remote bật quick time lên, quay video lại, hiden quick time ;)) : Dùng remote điều khiển quick time quay vdeo lại mà đối tượng ngồi trước Cam không biết.
tuzebra
ĐẠI BÀNG
13 năm
mình thấy bác chủ topic hướng dẫn đã rất chi tiết (ý mình là đối với ai đã coi từ bài cơ bản tuần trước)
automator này cũng như là đang lập trình vậy input vào function và return gì đó, chỉ có khác là apple đã giao diện hóa các thao tác viết code ... để ai cũng có thế làm được.
cho nên bạn @William_Bruce nói "Cái này nghe và đọc nó cứ IT thế nào ấy..." cũng không sai 😁
haivugv
TÍCH CỰC
13 năm
không có máy nên không biết ;)
Thôi các bạn cứ xem như bài tham khảo đi nếu chưa dùng đến, ai muốn nắm vững thì cứ vọc dữ vào. Nếu đúng nhu cầu của ai đó thì hãy dùng nó nhé. Xin chúc mọi người vui vẻ.
Cám ơn Duy Luân rất nhiều đã dày công nghiên cứu giải đáp thắc mắc của anh em !
lauxanh
ĐẠI BÀNG
13 năm
đả xem 2 bài của bác DL nhưng mà....
thôi bác mở lớp dạy ở quán cafe nào đó ( tinh tế chẳng hạng ) 😃, giao lưu luôn hehe
Cảm ơn bạn, bài viết rất hay và hữu ích. Dùng automator rất hữu ích cho các tác vụ lặp đi lặp lại.
Sắp tới nếu có Off Mac Lion thì mình sẽ nói kĩ hơn về Automator nếu anh em quan tâm

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019