TUYÊN BỐ TỪ CHỐI / CẢNH BÁO
Các tập tin ẩn được ẩn vì một lý do thường. Chỉ sử dụng tập lệnh dưới đây nếu bạn chắc chắn biết mình đang làm gì. Nói cách khác: Nếu bạn phá vỡ hệ thống của mình bằng cách xóa ngẫu nhiên các tệp ẩn, đó là lỗi của chính bạn.
Đây là tập lệnh tôi sử dụng để chuyển đổi chương trình / không hiển thị các tập tin ẩn bên trong Finder .
(Phím tắt riêng của OSX để chuyển đổi các tệp ẩn trong hộp thoại Mở / Lưu đã được Mateusz Szlosek đề cập ở trên)
Sự khác biệt giữa kịch bản của tôi và các kịch bản khác mà tôi đã thấy cho đến nay:
Hầu hết các tập lệnh không làm gì khác sau khi giết Finder. Thông thường, điều này có nghĩa là bạn phải điều hướng trở lại thư mục ban đầu, vì Trình tìm kiếm tự động khởi chạy lại không đáng tin cậy mở thư mục hoạt động cuối cùng của bạn.
Tập lệnh bên dưới thay vào đó mở lại và tập trung vào thư mục hoạt động cuối cùng của bạn, tức là thư mục bạn đang sử dụng khi chuyển đổi, nhưng hiện đang hiển thị (hoặc không hiển thị) các tệp bị ẩn.
Tôi đã gán một lối tắt cho nó (cmd + shift +.) Và thấy làm việc với các tệp ẩn trong Finder thuận tiện hơn rất nhiều bây giờ.
Tín dụng cho Tetsujin, người đã đăng một tập lệnh trên trang này cách đây một thời gian mà tôi đã điều chỉnh để thêm chức năng 'mở lại thư mục cuối cùng'.
on run {input, parameters}
tell application "Finder"
set var1 to POSIX path of (target of window 1 as alias)
end tell
set newHiddenVisiblesState to "YES"
set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
if oldHiddenVisiblesState is in {"1", "YES"} then
set newHiddenVisiblesState to "NO"
end if
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState
---- Sleep hack mentioned below. 0.5s minimum, 1-2s safer. Ugly, but (probably) unavoidable.
do shell script "killall Finder; sleep 0.5s"
tell application "Finder"
---- Close other windows if Finder managed to relaunch already
if application "Finder" is running then
close every window
end if
open (var1 as POSIX file)
activate
end tell
end run
Để sử dụng tập lệnh: Mở một quy trình công việc mới trong Máy tự động, kéo vào "Chạy AppleScript", sao chép và dán mã ở trên và lưu trong thư mục dịch vụ của bạn (thường là ~ / Thư viện / Dịch vụ /, afaik).
Đính kèm một phím tắt để thực thi một tập lệnh nên được đề cập ở một nơi khác trên trang web này. Tôi giới hạn phạm vi phím tắt của tôi để Finder một mình.
Nhận xét về phong cách:
Tôi phải dùng đến một chút hack xấu xí, sử dụng 'ngủ' sau khi giết Finder, trước khi tự mở thư mục gốc.
Nếu tôi không ép buộc sự chậm trễ này, có khả năng OSX đã khởi chạy lại Finder và mở một thư mục (không nhất thiết phải là hoạt động cuối cùng, theo kinh nghiệm của tôi). Cùng với lệnh 'mở' của riêng tôi, điều này có thể dẫn đến hiệu ứng khó chịu của hai quá trình Finder (không thể thực hiện được, thậm chí) đang chạy và Finder không hoạt động nữa. Nếu điều này xảy ra, đăng xuất và đăng nhập lại sẽ sửa nó, nhưng rõ ràng nó lãng phí thời gian, vì vậy tôi sử dụng 'giấc ngủ'.
Giá trị giấc ngủ là 0,5 giây đối với tôi, nhưng để đảm bảo an toàn, bạn có thể tăng nhẹ nó (thêm một độ trễ đáng chú ý hơn vào quy trình sau đó).
Nếu ai đó biết cách ngăn chặn Finder khởi chạy lại và mở một số cửa sổ không đáng tin cậy sau khi gửi tín hiệu killall - hoặc một cách khác để thoát khỏi hack 'ngủ' - tôi rất vui khi nghe điều đó!