ปุ่มลัดเพื่อแสดงไฟล์และโฟลเดอร์ที่ซ่อนอยู่ในกล่องโต้ตอบเปิดไฟล์หรือไม่


262

คำถามนี้คล้ายกับเป็นไปได้หรือไม่ที่จะแสดงซ่อน / ดอทไฟล์ในกล่องโต้ตอบเปิด / บันทึกเสมอ . จะแสดงไฟล์และโฟลเดอร์ที่ซ่อนอยู่ใน Finder ได้อย่างไร? ยังเกี่ยวข้อง อย่างไรก็ตามฉันไม่ต้องการแสดงพวกเขาเสมอและนั่นคือสิ่งที่defaults write ... AppleShowAllFiles ...ทำ

ค่อนข้างฉันต้องการเปิดใช้เมื่อจำเป็น ฉันพยายามที่จะเปิด.bash_profileดังนั้นฉันต้องการมันตอนนี้:

ป้อนคำอธิบายรูปภาพที่นี่

Linux และ Gnome อนุญาตให้เราCTRL+ Hสลับระหว่างการแสดงและซ่อนไฟล์ที่ซ่อน แต่ปุ่มลัดของ Gnome ไม่ทำงานบน OS X (ซึ่งคาดว่าจะเกิดขึ้น)

เพื่อความสมบูรณ์.bash_profileมีอยู่ในโฮมไดเร็กทอรี:

$ ls ~/.bash_profile 
/Users/jww/.bash_profile

คำถามที่เกี่ยวข้อง ... ดังที่เห็นด้านบนการพิมพ์ชื่อไฟล์ใน Finder (หรือเป็น Spotlight) การค้นหาไม่ทำงาน ฉันพยายามคลิกขวาเพื่อรับเมนูบริบทในกล่องโต้ตอบเปิดไฟล์โดยหวังว่าจะทำเครื่องหมายในช่องเช่น "แสดงไฟล์ทั้งหมด" และฉันลองเมนูมุมมองมองหา "แสดงไฟล์ทั้งหมด" โดยเปิดกล่องโต้ตอบเปิดไฟล์

ทำไมสิ่งนี้ถึงซ่อนอยู่ที่ไหนซักแห่ง? มีจุดประสงค์อะไรบ้างที่จะไม่อนุญาตให้ผู้ใช้เปิดไฟล์ได้อย่างง่ายดาย

คำตอบ:


452

⌘ CMD+ ⇧ SHIFT+ .แสดงไฟล์ที่ซ่อนอยู่ใน Finder และเปิด / บันทึกข้อความโต้ตอบ

หากคุณกำลังใช้แป้นพิมพ์ AZERTY คุณจะต้องกดfnด้วยเช่นกันดังนั้น⇧ SHIFTจะต้องคำนึงถึงสิ่ง.นี้ด้วย


นอกจากนี้คุณยังสามารถกด⌘ CMD+ ⇧ SHIFT+ Gและพิมพ์เส้นทางไปยังโฟลเดอร์ที่ซ่อนอยู่ได้เช่นเดียวกับใน Terminal (การ⇥ TABเติมข้อความอัตโนมัติยังทำงานได้)

การแก้ไขไฟล์ที่ซ่อนอยู่อาจเป็นอันตรายหากคุณไม่รู้ว่ากำลังทำอะไรอยู่


7
ใช้งานได้สำหรับฉันในมุมมองคอลัมน์ถ้าฉันเปลี่ยนเส้นทาง - ไปที่ไดรฟ์อื่น & ย้อนกลับอีกครั้ง ฯลฯ - หรือเปลี่ยนมุมมองเป็นไอคอน & ย้อนกลับ
เท็ตสึจิน

10
แป้นพิมพ์ลัด "cmd + shift +." ดูเหมือนว่าจะทำงานในระดับที่กว้างขึ้นใน Finder in Sierra (ไม่ใช่แค่ไดอะล็อก Open / Save) ในหลายมุมมองเช่นกัน
Niall

4
ว้าวไม่น่าเชื่อว่าจะมีทางลัดสำหรับสิ่งนี้มีความเฉพาะเจาะจงอย่างประหลาด ขอบคุณ!
Ezekiel Victor

1
@MateuszSzlosek ดูเหมือนจะไม่เหมาะกับฉัน cmdshiftG ไม่สามารถเลือกไฟล์ที่ซ่อนได้เว้นแต่ว่าฉันจะทำ cmdshiftdot เป็นครั้งแรก มันเหมาะกับคุณไหม
Pacerier

2
อ่าฉันได้รับสิ่งที่คุณหมายถึง ดังนั้นใช่ CMD + SHIFT + G จะไม่เลือกไฟล์ที่ซ่อนอยู่เว้นแต่ว่าคุณจะเปิดเผยโดยใช้ CMD + SHIFT + แต่คุณยังสามารถนำทางไปยังโฟลเดอร์ที่ซ่อนอยู่โดยใช้ CMD + SHIFT + G โดยไม่ต้องเปิดเผย จุดดี!
Mateusz Szlosek

23

Mateusz Szlosek ครอบคลุมส่วนแรก ด้านล่างเป็นวิธีที่ฉันจัดการส่วนที่สองเพื่อการใช้งานของฉันเอง

เพื่อรีบโพสต์คำตอบของฉันฉันไม่ทราบว่าส่วนที่สองได้รับคำตอบแล้ว ดูวิธีการตั้งค่า⌘ + H เพื่อเปิดใช้งานการแสดงไฟล์ที่ซ่อน สิ่งที่ฉันเสนอด้านล่างแตกต่างกันโดยกล่องโต้ตอบแจ้งให้คุณทราบสถานะปัจจุบัน

ฉันสร้างบริการโดยใช้แอปพลิเคชัน Automator เมื่อฉันต้องการสลับการดูไฟล์ที่ซ่อนอยู่ฉันเลือก "สลับไฟล์ที่ซ่อน" จากเมนูย่อยบริการค้นหาดังที่แสดงด้านล่าง (คำแนะนำ: คลิกที่ภาพเพื่อดูดีขึ้น)

นี่จะทำให้ป๊อปที่แสดงด้านล่างปรากฏขึ้น

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ขั้นตอนในการสร้างบริการมีดังนี้

  1. เปิด Automator เลือกเอกสารใหม่ของบริการประเภท
  2. ลากการดำเนินการ "Run Shell Script" ไปยังบานหน้าต่างเวิร์กโฟลว์
  3. แก้ไขการบรรจุที่จะปรากฏดังแสดงด้านล่าง (คำแนะนำ: คลิกที่ภาพเพื่อดูดีขึ้น)

    ข้อความสำหรับสคริปต์ซ้ำด้านล่าง

    STATUS=`defaults read com.apple.finder AppleShowAllFiles 2>/dev/null`
    if [ "$STATUS" == TRUE ]; then
        STATUS=`osascript -e 'tell app "Finder" to display alert "Finder is showing hidden files." buttons {"Cancel", "Hide"}'`
    else
        STATUS=`osascript -e 'tell app "Finder" to display alert "Finder is not showing hidden files." buttons {"Cancel", "Show"}'`
    fi
    if [ "$STATUS" == "button returned:Show" ]; then
        defaults write com.apple.finder AppleShowAllFiles TRUE
        killall Finder
    elif [ "$STATUS" == "button returned:Hide" ]; then
        defaults write com.apple.finder AppleShowAllFiles FALSE
        killall Finder
    fi
    
  4. บันทึก (หรือย้าย) Toggle Hidden Files.workflowไฟล์ไปยัง ~/Library/Servicesโฟลเดอร์
  5. คุณอาจต้องเปิดแอปพลิเคชั่น Finder อีกครั้งเพื่อให้บริการปรากฏบนเมนู

อัปเดต 1

อาคารออกจากคำตอบ Mateusz Szlosek ของผมเห็นแป้นพิมพ์ลัด⌘ CMD+ ⇧ SHIFT+ .อาจจะเพิ่มสำหรับการให้บริการของฉัน ไปที่การตั้งค่าระบบและคลิกที่ไอคอนแป้นพิมพ์ เลือก "บริการ" จากนั้นเลือก "สลับไฟล์ที่ซ่อน" ใต้หัวข้อ "ทั่วไป" แทนที่ "ไม่มี" กับ⌘ CMD+ ⇧ SHIFT+ .แป้นพิมพ์ลัด


ฉันทำตามที่คุณบอกทุกประการ (มีไฟล์ดังกล่าวอยู่ในโฟลเดอร์ ~ / Library / Services) แต่จะไม่มีประโยชน์แม้หลังจากรีสตาร์ทคอมพิวเตอร์
วอลเตอร์

@Walter: ฉันได้เพิ่มToggle Hidden Files.workflowไปยัง Sourceforge.net ดูเว็บไซต์: สลับไฟล์ที่ซ่อน คุณสามารถดาวน์โหลดเวิร์กโฟลว์ได้จากที่นั่น คำแนะนำสำหรับการติดตั้งยังแสดงอยู่ที่ไซต์นี้
David Anderson

เหตุใดจึงต้องเปลี่ยนคีย์ลัดในตัวซึ่งใช้งานได้ในกล่องโต้ตอบไฟล์เป็นบริการซึ่งไม่ใช้ (เลิก Finder สามารถทำให้หน้าต่าง Finder เบื้องหน้าจะปิด.)
benwiggy

3

การปฏิเสธความรับผิด / คำเตือน

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


นี่คือสคริปต์ที่ผมใช้ในการสลับการแสดง / ไม่แสดงไฟล์ที่ซ่อนอยู่ภายในFinder

(ทางลัดดั้งเดิมของ OSX เพื่อสลับไฟล์ที่ซ่อนอยู่ในกล่องโต้ตอบเปิด / บันทึกถูกกล่าวถึงโดย Mateusz Szlosek ด้านบนแล้ว)

ความแตกต่างระหว่างสคริปต์ของฉันและอื่น ๆ ที่ฉันเคยเห็น:

สคริปต์ส่วนใหญ่จะไม่ทำสิ่งใดหลังจากฆ่า Finder โดยปกติหมายความว่าคุณต้องย้อนกลับไปยังโฟลเดอร์ที่คุณอยู่เดิมเนื่องจากตัวค้นหาอัตโนมัติเปิดใช้งานใหม่ไม่น่าเชื่อถือเปิดโฟลเดอร์ที่ใช้งานล่าสุดของคุณ

สคริปต์ด้านล่างจะเปิดอีกครั้งและมุ่งเน้นไปที่โฟลเดอร์ที่ใช้งานล่าสุดของคุณเช่นโฟลเดอร์ที่คุณอยู่เมื่อใช้สลับ แต่ตอนนี้แสดงไฟล์ที่ซ่อนอยู่ (หรือไม่แสดง)

ฉันกำหนดทางลัดให้กับมัน (cmd + shift +.) และค้นหาการทำงานกับไฟล์ที่ซ่อนอยู่ใน Finder ได้สะดวกกว่านี้มาก

ขอเครดิตกับ Tetsujin ที่โพสต์สคริปต์บนไซต์นี้เมื่อไม่นานมานี้ที่ฉันปรับตัวเพื่อเพิ่มฟังก์ชั่น 'เปิดโฟลเดอร์สุดท้าย'

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

วิธีใช้สคริปต์: เปิดเวิร์กโฟลว์ใหม่ใน Automator ลากใน "Run AppleScript" คัดลอกและวางรหัสด้านบนและบันทึกในโฟลเดอร์บริการของคุณ (โดยปกติคือ ~ / Library / Services /, afaik)

การแนบช็อตคัตเพื่อเรียกใช้งานสคริปต์ควรครอบคลุมในที่อื่นบนไซต์นี้ ฉัน จำกัด ขอบเขตของทางลัดไว้ที่ Finder เพียงอย่างเดียว


คำพูดสไตล์:

ฉันต้องหันไปใช้แฮ็คที่น่าเกลียดนิดหน่อยโดยใช้ 'sleep' หลังจากสังหาร Finder ก่อนที่จะเปิดโฟลเดอร์ต้นฉบับด้วยตนเอง

หากฉันไม่ได้บังคับให้เกิดความล่าช้านี้มีโอกาสที่ OSX จะเปิดตัว Finder Finder ขึ้นใหม่แล้วเปิดโฟลเดอร์ เมื่อใช้ร่วมกับคำสั่ง 'เปิด' ของฉันสิ่งนี้จะนำไปสู่ผลที่น่ารังเกียจของกระบวนการค้นหาสองรายการที่ไม่น่าพึงพอใจแม้กระทั่ง Finder กำลังทำงานและ Finder ไม่ทำงานอีกต่อไป หากสิ่งนี้เกิดขึ้นการออกจากระบบและกลับเข้ามาแก้ไขอีกครั้ง แต่มันเสียเวลาอย่างเห็นได้ชัดดังนั้นฉันจึงใช้ 'หลับ'

ค่าสลีปของ 0.5s ใช้งานได้สำหรับฉัน แต่ถ้าอยู่ในด้านที่ปลอดภัยคุณสามารถเพิ่มได้เล็กน้อย (เพิ่มความล่าช้าที่เห็นได้ชัดเจนในกระบวนการนั้น)

หากมีคนรู้วิธีที่จะปราบปราม Finder relaunch และการเปิดหน้าต่างที่ไม่น่าเชื่อถือหลังจากส่งสัญญาณ killall - หรือวิธีอื่นในการกำจัดแฮ็ค 'sleep' - ฉันยินดีที่จะได้ยิน!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.