Hiển thị / Ẩn tập tin ẩn mà không khởi động lại công cụ tìm?


13

Tôi đã hiểu rằng sau đây là cách để thay đổi mức độ hiển thị của các tệp ẩn:

defaults write com.apple.finder AppleShowAllFiles YES
# replace YES with NO to hide hidden files
killall -HUP Finder /System/Library/CoreServices/Finder.app

Có cách nào để hiển thị / ẩn các tập tin ẩn mà không giết Finder?

Câu trả lời:


6

Chỉnh sửa: Điều này không còn xuất hiện để làm việc kể từ El Capitan. killall Finderdường như là cách duy nhất bây giờ

Đây là phương pháp El Capitan hiện tại của tôi, cũng nên hoạt động cho Mountain Lion & cũ hơn

set newHiddenVisiblesState to "YES"
try
    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
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState & "; killall Finder"

Dành cho Mavericks & Yosemite

Bạn không cần phải khởi động lại Finder, chỉ làm mới các cửa sổ.

Bản sao này sẽ chuyển trạng thái & làm mới ...

set newHiddenVisiblesState to "YES"
try
    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
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState


tell application "Finder"
    set theWindows to every Finder window
    repeat with i from 1 to number of items in theWindows
        set this_item to item i of theWindows
        set theView to current view of this_item
        if theView is list view then
            set current view of this_item to icon view
        else
            set current view of this_item to list view

        end if
        set current view of this_item to theView
    end repeat
end tell

Tín dụng cho ganbustein cho thói quen ẩn / hiển thị được cải thiện


Bạn không cần tell application "System Events"khối xung quanh hai do shell script ...lệnh. Trong thực tế, tôi ngạc nhiên Sự kiện hệ thống cho phép bạn yêu cầu nó gọi do shell script.
ganbustein

Tôi không phải là chuyên gia về nó - Tôi luôn chỉ sử dụng các sự kiện hệ thống nếu tôi dường như không có 'ai đặc biệt' để nói ;-)
Tetsujin

2
Nó "luôn hoạt động" vì Sự kiện hệ thống đang trả về mã lỗi có nghĩa là "tự làm" và tập lệnh đang âm thầm làm việc đó để xử lý lỗi. Vấn đề là bạn sẽ được gọi do shell scriptvới một số đặc quyền của ứng dụng khác mà không cho nó cơ hội để kiểm tra kịch bản. Apple đã thực hiện thay đổi đó để đóng lỗ hổng bảo mật nơi bạn có thể yêu cầu một chương trình chạy bằng root để thực hiện kịch bản cho bạn.
ganbustein

1
@ganbustein Tôi đã dán phiên bản của bạn vào một vài nơi khác trên SE Tôi đã sử dụng câu trả lời này. Cảm ơn các đầu vào. Cảm kích nhất.
Tetsujin

Điều này thật tuyệt, ngoại trừ việc nó không thay đổi chính Desktop. Có cách nào để làm điều đó không, ngoài việc khởi động lại Finder?
TJ Luoma

10

Trên macOS Sierra, phiên bản 10.12.4 trở lên, bạn có thể nhấn + Shift+ . ( dấu chấm ) , để chuyển các tệp ẩn bên trong Finder.

Chỉnh sửa muộn: Điều này hiện đang hoạt động trên Mojave, kể từ b5, ngày 18 tháng 8 năm 2018.


@ fd0, Nó tuyên bố, "... để chuyển các tập tin ẩn bên trong Finder." và từ khóa ở đây là "chuyển đổi", thường ngụ ý nhấn cùng một tổ hợp phím tắt cả ẩn / bỏ ẩn các tập tin ẩn trong trường hợp sử dụng này. +1
dùng3439894

Bạn có biết tương đương trên các phiên bản không phải của Hoa Kỳ?
ogerard

Đừng quên rằng bạn có thể sử dụng cùng một tổ hợp bàn phím trong hộp thoại Mở / Lưu để hiển thị tạm thời các tệp bị ẩn.
boris42

Vẫn hoạt động vào tháng 4 năm 2019!
SilverWolf - Hồi phục lại
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.