ฉันต้องการลบโฟลเดอร์เปล่าทั้งหมดในดิสก์ภายนอก ฉันจะทำสิ่งนี้ได้อย่างไร
ฉันต้องการลบโฟลเดอร์เปล่าทั้งหมดในดิสก์ภายนอก ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
ก่อนอื่นให้ทราบว่าการลบไดเรกทอรีว่างมักไม่จำเป็น บริการหรือแอปพลิเคชั่นบางอย่างอาจจำเป็นต้องมีไดเรกทอรีที่แน่นอนอยู่ ระวังสิ่งที่คุณกำลังทำ
คุณสามารถแสดงรายการโฟลเดอร์ว่างด้วยfind
เมื่อเรียกใช้จาก Terminal.app:
find . -type d -empty
ตามค่าเริ่มต้นfind
จะแสดงรายการไฟล์และโฟลเดอร์ แต่ที่นี่-type d
จะ จำกัด ไว้เฉพาะไดเรกทอรีและ-empty
ตัวเลือกจะแสดงเฉพาะไดเรกทอรีที่ว่างเปล่า สิ่งนี้จะทำให้โฟลเดอร์ทั้งหมดหล่นลงมาจากโฮมไดเร็กตอรี่ของคุณ ( หรือย่อ, ) ในการขยายสิ่งนี้ไปยังระบบไฟล์ทั้งหมดของคุณให้ใช้:/Users/your-username/
~
find / -type d -empty
นี่/
หมายถึงรากของระบบไฟล์ Mac OS X ของคุณ แน่นอนคุณสามารถใช้จุดเริ่มต้นอื่นเช่นกันเช่นดิสก์ภายนอกของคุณติดตั้งอยู่ใต้;/Volumes/your-disk-name
find /Volumes/your-disk-name -type d -empty
ตอนนี้ถ้าคุณต้องการที่จะลบสิ่งที่find
เอาท์พุทเพียงแค่ผนวก-delete
เช่น:
find . -type d -empty -delete
หมายเหตุ: นี้จะไม่ขอยืนยัน มันจะลบไดเรกทอรีทั้งหมดที่สามารถทำได้เช่นไดเรกทอรีที่คุณมีสิทธิ์ลบ พวกเขาจะไม่ถูกย้ายไปที่ถังขยะ แต่ไปตลอดกาล หากคุณต้องการได้รับการถามก่อนที่จะลบเปลี่ยนคำสั่งเป็นสิ่งที่ดังต่อไปนี้:
find . -type d -empty -exec rm -ri '{}' \;
illegal option -- t
type
และempty
ดูเหมือนจะไม่สามารถจดจำได้
find
ต้องการพา ธ ดังนั้นลองอีกครั้งด้วยfind . -type d
ไม่ใช่find -type d
( เวอร์ชั่นหลังใช้งานได้กับ GNU find
)
find
วิธีที่คล้ายกันข้างต้น) จากนั้นใช้คำสั่งที่แนะนำเพื่อลบไดเรกทอรีว่างที่เหลืออยู่
ฉันได้ทำโปรแกรมขนาดเล็กและฟรีที่แก้ปัญหานี้ได้ดีกว่า:
http://www.macupdate.com/app/mac/52551/find-empty-folders
ข้อดีของโปรแกรมนี้คือมันยังค้นหาโฟลเดอร์ที่ว่างเปล่า แต่มีไฟล์ ".DS_Store" ที่มองไม่เห็น
และยังช่วยให้คุณย้ายรายการที่พบไปยังถังขยะได้ทันที
find ~/Documents -type f -name 'Icon?' -print -delete;
เพื่อเพิ่มเติมความพยายามนี้:
ฉันสร้างสคริปต์ที่ใช้ในการทำความสะอาดโฟลเดอร์เอกสารของฉันเป็นครั้งคราวเนื่องจากฉันไปถึง OCD และเบื่อที่จะต้องเป็นแอปที่โอเวอร์โหลดและเรียบง่าย
ฉันทำสิ่งนี้เพื่อพยายามปรับปรุงและนำเสนอทางเลือกอื่น
สุดท้ายนี้สำหรับไฟล์ไอคอนของ @ kenche ดูเหมือนจะไม่มีอยู่ในเครื่อง mac ของฉันเพราะฉันยังไม่ได้แก้ไขไอคอนโฟลเดอร์ของฉัน แต่คุณสามารถทำได้ในสารวัตร เมื่อลากรูปภาพไปทางซ้ายบนมันจะสร้างIcon^M
ไฟล์ในไดเรกทอรีนั้น
ในการค้นหาสิ่งเหล่านั้นคุณสามารถเรียกใช้:
(คุณควรหวาดระแวงว่าการหาผลบวกเป็นเท็จนั้นให้ใช้: ctrl+ v ctrl+ mแทนที่จะเป็น?)
find ~/Documents -type f -name 'Icon?' -print;
# and to remove
find ~/Documents -type f -name 'Icon?' -print -delete;
โปรดตามที่ @slhck ระบุไว้ข้างต้น: บริการหรือแอปพลิเคชั่นบางอย่างอาจจำเป็นต้องมีไดเรกทอรีที่แน่นอนอยู่ นอกจากนี้ยังใช้กับไฟล์ DS_Store และไอคอนโปรดระวังสิ่งที่คุณกำลังทำ หมายเหตุเพิ่มเติม: สคริปต์นี้จะไม่ขอการยืนยัน มันจะลบไดเรกทอรีทั้งหมดที่สามารถทำได้ เช่นคนที่คุณมีสิทธิ์ในการลบ พวกเขาจะไม่ถูกย้ายไปที่ถังขยะ แต่ไปตลอดกาล
#!/bin/bash
# =============================================================================
# MAC OSX HIGH SIERRA 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================
# Terminal CLEAN UP YOUR DOCUMENTS FOLDER.
# =============================================================================
# START WHAT IS BELIEVED TO BE EMPTY NOW.
# =============================================================================
echo 'Searching Documents for empty folders...'
find ~/Documents -type d -empty;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS DS_Store FILES
# =============================================================================
echo 'Searching Documents for DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print;
echo 'Removing DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print -delete;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS ZERO SIZED FILES
# =============================================================================
echo 'Searching Documents for ZERO file sized files...'
find ~/Documents -type f -empty;
echo 'Removing ZERO file sized files...'
find ~/Documents -type f -empty -delete;
# =============================================================================
# SHOW & THEN REMOVE Icon^M FILES
# USE THE ? MARK FOR EASE OF USE YOU CAN ALSO SUB 'CTRL + V & CTRL + M' FOR ^M
# =============================================================================
echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;
echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;
# SEEMINGLY THE SAME AS
# find ~/Documents -type f -size 0 -print
# find ~/Documents -type f -size 0 -print -delete
# =============================================================================
# SHOWCASE NEW FOUND EMPTY FOLDERS
# =============================================================================
echo 'Showcasing new result of existing and new found empty folders...'
find ~/Documents -type d -empty;
echo 'Deleting result of empty folders...'
find ~/Documents -type d -empty -delete;
echo 'Showcasing the removal of said, 'empty folders'...'
find ~/Documents -type d -empty;
จุดสิ้นสุดของสคริปต์
สคริปต์สามารถดูได้ที่นี่ใน GitHub
เกี่ยวกับไอคอนที่แสดงถึงไฟล์ใน Mac ของคุณ
มีวิธีใดที่จะลบโฟลเดอร์ทั้งหมดที่มีเพียง. DS_Store ซ้ำ ๆ
ค้นหาโฟลเดอร์ & โฟลเดอร์ย่อยที่มีเฉพาะ ".DS_Store"
วิธีค้นหาไฟล์ zero-byte ทั้งหมดในไดเรกทอรีรวมถึงไดเรกทอรีย่อย