Tự động hóa máy tính với Folder Actions trên macOS
(interfacecraft.online)- Việc con người trực tiếp thực hiện các tác vụ lặp đi lặp lại là không hiệu quả, nên cần tự động hóa
- Ví dụ, quá trình chuyển đổi video .MOV mặc định của macOS sang .MP4 khá phiền phức
- Trước đây dùng ứng dụng chuyển đổi GUI, nhưng phải qua nhiều bước
- Để giải quyết việc này, tác giả đã tận dụng macOS Folder Actions để xây dựng một hệ thống chuyển đổi tự động
- Các việc bổ sung đã làm: chuyển video sang GIF, chuyển ảnh sang WebP, tải video YouTube, tải video Twitter, chuyển video YouTube sang MP3
Tự động chuyển đổi bằng Folder Actions
- Khi thả tệp vào một thư mục cụ thể, tác vụ chuyển đổi sẽ tự động chạy
- Ví dụ:
- chuyển .MOV → .MP4
- chuyển .JPG → .WEBP
- tải video từ Twitter và YouTube
- Chỉ cần đưa tệp vào thư mục là việc chuyển đổi sẽ hoàn tất, đồng thời tệp gốc cũng được tự động xóa
Cách thiết lập macOS Folder Actions
Lưu ý
- Sau khi thiết lập Folder Actions, nếu đổi tên thư mục thì nó sẽ không hoạt động.
- Nếu đổi tên thư mục, bạn phải thiết lập lại action.
Quy trình thiết lập
- Tạo thư mục trong Terminal
- Chạy Automator rồi tạo một "Folder Action" mới
- Thêm "Get Selected Finder Items" và "Run Shell Script"
- Pass input: đặt thành "as arguments"
- Nhập script chuyển đổi
- Ví dụ: chuyển .MOV → .MP4
for f in "$@"; do /opt/homebrew/bin/ffmpeg -n -loglevel error -i "$f" -vcodec libx264 -crf 23 -preset ultrafast -tune film "/Users/alexander/Library/Mobile\ Documents/com\~apple\~CloudDocs/Downloads/$(date +"%Y_%m_%d_%I_%M_%p_%s").mp4"; rm -f "$f" done - Lưu rồi thoát
- Kéo và thả tệp .MOV vào thư mục để chạy chuyển đổi tự động
- Trong lúc chạy, biểu tượng bánh răng sẽ xuất hiện trên thanh menu.
Ví dụ Folder Actions bổ sung
Chuyển video → GIF
for f in "$@"; do
/opt/homebrew/bin/ffmpeg -n -loglevel error -i "$f" -vf "fps=18,scale=720:-1:flags=lanczos" "/Users/alexander/Library/Mobile Documents/com~apple~CloudDocs/Downloads/$(date +"%Y_%m_%d_%I_%M_%p_%s").gif";
rm -f "$f"
done
Chuyển ảnh → WEBP
for f in "$@"; do
/opt/homebrew/bin/cwebp -q 70 "$f" -o "/Users/alexander/Library/Mobile Documents/com~apple~CloudDocs/Downloads/$(date +"%Y_%m_%d_%I_%M_%p_%s").webp";
rm -f "$f"
done
Tải video YouTube
Chỉ cần kéo và thả URL từ trình duyệt vào thư mục này thì quá trình tải sẽ bắt đầu
for f in "$@"; do
url=$(grep -o '<string>.*</string>' "$f" | sed 's/<string>\(.*\)<\/string>/\1/')
if [ -n "$url" ]; then
/opt/homebrew/bin/yt-dlp -P "~/Downloads" "$url"
if [ $? -eq 0 ]; then
rm -f "$f"
fi
fi
done
Tải video Twitter
for f in "$@"; do
url=$(grep -o '<string>.*</string>' "$f" | sed 's/<string>\(.*\)<\/string>/\1/')
if [ -n "$url" ]; then
/opt/homebrew/bin/yt-dlp -P "~/Downloads" "$url"
if [ $? -eq 0 ]; then
rm -f "$f"
fi
fi
done
Chuyển YouTube → MP3
brew install yt-dlp; brew install ffmpeg
for f in "$@"; do
url=$(grep -o '<string>.*</string>' "$f" | sed 's/<string>\(.*\)<\/string>/\1/')
if [ -n "$url" ]; then
/opt/homebrew/bin/yt-dlp -x --audio-format mp3 --audio-quality 0 --ffmpeg-location /opt/homebrew/bin/ffmpeg -P "~/Downloads" "$url"
if [ $? -eq 0 ]; then
rm -f "$f"
fi
fi
done
Cách thay đổi Folder Actions
- Để chỉnh sửa Folder Actions, nhấp chuột phải vào thư mục → chọn "Folder Action Setup"
- Tất cả action đã lưu nằm ở đường dẫn sau:
Macintosh HD / Users / YourName / Library / Workflows / Applications / Folder Actions/ - Dùng hệ thống này, bạn có thể biến từng thư mục thành giao diện cho các lệnh Terminal
- Nhờ đó, desktop trở thành một không gian làm việc hữu ích hơn nhiều
7 bình luận
Wow, không biết có bản cho Windows không nhỉ?
Có một công cụ tên là Watch 4 Folder cho Windows làm chính xác việc tương tự.
Khi tệp/thư mục được tạo/thay đổi/xóa trong một thư mục cụ thể, nó sẽ chạy chương trình hoặc script.
https://leelusoft.blogspot.com/p/watch-4-folder-25.html
Bản miễn phí chỉ theo dõi được 1 thư mục, còn bản trả phí là $4.99.
Ngoài ra còn có Watchman, một dự án mã nguồn mở do Facebook tạo ra. Nó hỗ trợ cả Windows/macOS/Linux.
Tất nhiên vì không phải GUI nên hơi bất tiện hơn một chút so với công cụ ở trên.
https://facebook.github.io/watchman/
Ồ, việc lưu video có vẻ thật sự rất tiện. Cảm giác như đang dùng máy tính đúng nghĩa.
Có cảm giác như chắc cũng có bản cho Linux. Có lẽ tự làm một cái cũng hay.
Cái này trông có vẻ thú vị nhỉ haha
Ồ.. phải thử áp dụng mới được!
Tôi không biết trước đây, nhưng cái này khá ổn đấy.