จะลบไฟล์เปล่า (0 ไบต์) ใน Windows ได้อย่างไร?

click fraud protection

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

ค้นหาและ/หรือลบไฟล์เปล่า (0 ไบต์) ใน Windows:

  1. ใช้ยูทิลิตี้ “Find Empty Files-n-Folders”
  2. ใช้ Windows Search
  3. โดยใช้พรอมต์คำสั่ง
  4. ใช้ PowerShell
  5. ใช้ VBScript
  6. ใช้ DelEmpty.exe

ค้นหาและลบไฟล์ 0 ไบต์ซ้ำๆ ในแผนผังโฟลเดอร์

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

เริ่มจากเครื่องมือ GUI ฟรีแวร์ของบุคคลที่ 3 กันก่อน แล้วจึงค่อยพูดถึงวิธีการดั้งเดิมต่อไป

1. การใช้ยูทิลิตี้ “Find Empty Files-n-Folders”

Find Empty Files-n-Folders เป็นเครื่องมือที่ยอดเยี่ยมในการค้นหาและลบไฟล์เปล่า (0-byte) และ โฟลเดอร์ว่าง ซ้ำ ๆ ภายใต้แผนผังโฟลเดอร์

ดาวน์โหลด ค้นหาไฟล์เปล่า-n-โฟลเดอร์ (ตัวติดตั้ง 600KB) จาก Ashisoft.com

เลือกโฟลเดอร์แล้วคลิก Scan Now

ลบโฟลเดอร์ว่างใน windows

เครื่องมือจะแสดงรายการไฟล์และโฟลเดอร์ว่างในแท็บแยกต่างหาก

จากแท็บล้างไฟล์ คลิก ทำเครื่องหมายไฟล์ทั้งหมด แล้วคลิก ลบไฟล์.

ลบไฟล์ว่าง 0 ไบต์ใน windows

ในทำนองเดียวกัน ถึง ลบไฟล์ 0 ไบต์ ในแผนผังโฟลเดอร์ที่เลือก ให้คลิกที่ ไฟล์ว่าง แท็บ

Ashisoft.com มีเครื่องมือที่ยอดเยี่ยมอื่น ๆ ที่คุณลองดูได้!


2. การใช้ Windows Search

Windows Search ให้คุณแสดงรายการไฟล์ 0 ไบต์ทั้งหมดโดยใช้ ขนาด: ตัวดำเนินการแบบสอบถาม

เปิดโฟลเดอร์ที่คุณต้องการค้นหาหรือลบไฟล์เปล่า

ในกล่องค้นหา พิมพ์ ขนาด: ว่างเปล่า หรือ ขนาด: 0 KB

ค้นหาและลบไฟล์ 0 ไบต์ใน windows

การกรองผลลัพธ์ตามนามสกุลไฟล์ (เช่น ไฟล์จาวาสคริปต์ → นามสกุล .js ) ใช้สิ่งต่อไปนี้ ไวยากรณ์การสืบค้นล่วงหน้า (AQS):

ขนาด: ว่างเปล่า AND ต่อ: js
ค้นหาและลบไฟล์ 0 ไบต์ใน windows

3. การใช้พรอมต์คำสั่ง

ในการแสดงรายการไฟล์ 0 ไบต์ (0 KB) ทั้งหมดเป็นโฟลเดอร์และโฟลเดอร์ย่อยแบบเรียกซ้ำ และส่งออกชื่อไปยังไฟล์ ให้ใช้คำสั่งต่อไปนี้

โปรดทราบว่าคุณจะต้องเรียกใช้คำสั่งจากโฟลเดอร์ที่คุณต้องการค้นหาหรือลบไฟล์เปล่า (0 KB)

สำหรับ /r %F ใน (*) ทำ @if %~zF==0 echo "%F" >>d:\0byte-files.txt

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

สำหรับ /r "d:\websites" %F ใน (*) ทำ @if %~zF==0 echo "%F" >>d:\0byte-files.txt

ด้วยวิธีนี้ คุณจะไม่ต้องสลับไปยังโฟลเดอร์นั้นใน Command Prompt

รายการทั้งหมดของเอาต์พุตไฟล์ 0 ไบต์ถูกเขียนลงในไฟล์ชื่อ 0byte-files.txt บน ด:\ ขับ.

ค้นหาและลบไฟล์ 0 ไบต์ใน windows

หากต้องการลบไฟล์ คุณจะต้องใช้ เดล คำสั่งแทน เสียงก้อง.

สำหรับ /r %F ใน (*.*) ทำ @if %~zF==0 del "%F"

หรือกล่าวถึงเส้นทางโฟลเดอร์เป้าหมายในคำสั่งเอง:

สำหรับ /r "d:\websites" %F ใน (*.*) ทำ @if %~zF==0 del "%F"

ค้นหาและลบไฟล์ 0 ไบต์ที่มีนามสกุลไฟล์เฉพาะ

ในตัวอย่างข้างต้น คุณยังสามารถกรองตามนามสกุลไฟล์ได้อีกด้วย ตัวอย่างเช่น การลบ 0-byte .txt ไฟล์ที่คุณจะใช้ *.txt แทน *.* หรือ *

สำหรับ /r %F ใน (*.txt) ทำ @if %~zF==0 del "%F"

หรือด้วยการกล่าวถึงเส้นทางของโฟลเดอร์:

สำหรับ /r "d:\websites" %F ใน (*.txt) ทำ @if %~zF==0 del "%F"

ที่จะลบความว่างเปล่าทั้งหมด .txt ไฟล์จากโฟลเดอร์ปัจจุบันและโฟลเดอร์ย่อย หรือในโครงสร้างโฟลเดอร์ที่ระบุซ้ำๆ

สร้างไฟล์แบทช์

หากคุณต้องการสร้างแบตช์ไฟล์เป็น ค้นหาและรายการ ไฟล์ว่างและส่งออกผลลัพธ์ไปยังไฟล์ข้อความ นี่คือสิ่งหนึ่ง:

@ปิดเสียงสะท้อน set out="d:\0byte-files.txt" สำหรับ /r "%~1" %%A ใน (*.*) ทำถ้า %%~zA == 0 echo "%%~fA" >> %out%

บันทึกเนื้อหาข้างต้นเป็น find-empty-files.bat.

ถึง ลบ ไฟล์เปล่าแทนที่จะแสดงรายชื่อไฟล์ ให้ใช้แบตช์ไฟล์นี้:

@ปิดเสียงสะท้อน สำหรับ /r "%~1" %%A ใน (*.*) ทำถ้า %%~zA == 0 del "%%~fA"

ถึง เรียกใช้แบตช์ไฟล์ กับโฟลเดอร์แบบเรียกซ้ำ คุณจะใช้ไวยากรณ์ต่อไปนี้:

d:\scripts\find-empty-files.bat d:\websites

คำสั่งข้างต้นทำอะไร?

  • สำหรับ /r %F ใน (*) วนซ้ำไฟล์ซ้ำ ๆ ในโฟลเดอร์และโฟลเดอร์ย่อยที่กล่าวถึง
  • ถ้า %~zF==0 ตรวจสอบว่าไฟล์ที่วนซ้ำเป็นไฟล์ 0 ไบต์หรือไม่
  • เดล %%~fA ลบไฟล์ 0 ไบต์
ที่เกี่ยวข้อง:วิธีค้นหาและลบโฟลเดอร์ว่างโดยอัตโนมัติใน Windows

4. การใช้ PowerShell

เริ่ม PowerShell.exe และใช้หนึ่งในวิธีต่อไปนี้:

รายการว่าง (0 KB) ไฟล์

ถึง รับรายการ ของไฟล์ขนาด 0 ไบต์ภายใต้โครงสร้างโฟลเดอร์ ให้ใช้ไวยากรณ์บรรทัดคำสั่งนี้:

รับ ChildItem -Path "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -และ $_.Length -eq 0 } | เลือก -ExpandProperty FullName

ในการส่งออกรายการไปยังไฟล์:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -และ $_.Length -eq 0 } | เลือก -ExpandProperty FullName | ชุดเนื้อหา -Path d:\found.txt
ค้นหาและลบไฟล์ 0 ไบต์ใน windows - powershell

ในการส่งออกรายการไปยังมุมมองกริด:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -และ $_.Length -eq 0 } | out-gridview

เพื่อแสดงรายการเท่านั้น เฉพาะประเภทไฟล์ (เช่น., .bmp) :

รับ ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -และ $_.Length -eq 0 } | out-gridview

ลบไฟล์เปล่า (0 KB)

ถึง ลบ ไฟล์ 0 ไบต์ทั้งหมดภายใต้โครงสร้างโฟลเดอร์ ใช้ไวยากรณ์บรรทัดคำสั่งนี้:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -และ $_.Length -eq 0 } | ลบรายการ

ในการลบไฟล์ 0 ไบต์ที่มี a นามสกุลเฉพาะ (เช่น., .bmp)

รับ ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -และ $_.Length -eq 0 } | ลบรายการ

5. การใช้ VBScript

ลบไฟล์ว่าง 0 ไบต์ใน windows - vbscriptVBScript ต่อไปนี้ล้างไฟล์เปล่า (0 ไบต์) ในโครงสร้างโฟลเดอร์ซ้ำๆ

คัดลอกโค้ดต่อไปนี้ไปยัง Notepad และบันทึกเป็น del-zero-byte-files.vbs

ตัวเลือกชัดเจนถ้า (WScript. ข้อโต้แย้ง นับ <> 1) จากนั้น WScript Echo("การใช้งาน: cscript DeleteEmptyFolders.vbs {path}") WScript เลิก (1) สิ้นสุดถ้า Dim strPath: strPath = WScript อาร์กิวเมนต์ (0) Dim fso: ตั้งค่า fso = CreateObject("Scripting. FileSystemObject") Dim objFolder: ตั้งค่า objFolder = fso GetFolder (strPath) หรี่ sDelList, sDelErr, sFilePath ติ่มซำ iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (โฟลเดอร์) โฟลเดอร์ย่อย Dim, ไฟล์ On Error Resume Next 'ข้ามข้อผิดพลาดเมื่อเข้าถึง Junctions ฯลฯ สำหรับแต่ละโฟลเดอร์ย่อยในโฟลเดอร์ โฟลเดอร์ย่อย DeleteZeroByteFiles โฟลเดอร์ย่อย ถัดไป บน ข้อผิดพลาด ไปที่ 0 สำหรับแต่ละไฟล์ ใน folder.files หาก file.size = 0 แล้ว sFilePath = ไฟล์ Path On Error Resume ต่อไป fso ไฟล์ DeleteFile, True ถ้า Err.number <> 0 แล้ว sDelErr = sDelErr & Err.number & ":" & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Else sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 End หากเกิดข้อผิดพลาด ไปที่ 0 End If ถัดไป. End Sub ถ้า sDelList = "" และ sDelErr = "" แล้ว WScript Echo "ไม่พบไฟล์ว่างภายใต้ WScript " & _ & strPath & & " ล้มเลิก. End If If sDelList <> "" แล้ว sDelList = "รายการไฟล์ว่างที่ถูกลบ" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "ทั้งหมด: " & iCnt & " ไฟล์ถูกลบแล้ว" หาก sDelErr <> "" ดังนั้น sDelErr = "ไฟล์เหล่านี้ไม่สามารถลบได้" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr สคริปต์ Echo sDelList & vbCrLf & vbCrLf & sDelErr

การใช้งาน

ในการเรียกใช้สคริปต์กับโฟลเดอร์ คุณสามารถใช้ wscript.exe หรือ cscript.exe ดังด้านล่าง:

cscript d:\scripts\del-zero-byte-files.vbs "d:\travel เอกสาร" wscript d:\scripts\del-zero-byte-files.vbs "d:\travel เอกสาร"

CScript.exe แสดงผลไปยังหน้าต่างคอนโซล ซึ่งหมายความว่าคุณจะต้องเรียกใช้จากหน้าต่างพรอมต์คำสั่งเพื่อดูผลลัพธ์

WScript.exe แสดงผลใน GUI

ผ่านเมนูส่งไปที่

คุณสามารถสร้างทางลัดไปยังสคริปต์ในของคุณ โฟลเดอร์ SendTo และตั้งชื่อว่า ลบไฟล์ 0 ไบต์. คำนำหน้า wscript.exe ในฟิลด์เป้าหมายคุณสมบัติทางลัด

ลบไฟล์ว่าง 0 ไบต์ใน windows - vbscript

จากนั้น คลิกขวาบนโฟลเดอร์ที่คุณต้องการลบไฟล์ว่างในโครงสร้างโฟลเดอร์ซ้ำๆ → click ส่งถึง → คลิก ลบไฟล์ 0 ไบต์ ในเมนูส่งไปที่

คุณจะเห็นรายการไฟล์ว่างที่ถูกลบและยอดรวม และไฟล์ที่ไม่สามารถลบได้โดยมีรหัสข้อผิดพลาดปรากฏขึ้น

ลบไฟล์ว่าง 0 ไบต์ใน windows - vbscript
ที่เกี่ยวข้อง:วิธีลบโฟลเดอร์ว่างโดยอัตโนมัติใน Windows

6. การใช้ DelEmpty.exe

DelEmpty.exe เป็นเครื่องมือคอนโซลจาก IntelliAdmin ที่สามารถลบไดเร็กทอรีว่างแบบเรียกซ้ำได้ โปรแกรมนี้ยังสามารถลบช่องว่างได้อย่างรวดเร็ว ไฟล์ 0 ไบต์ ซ้ำๆ

ต่อไปนี้เป็นไวยากรณ์บรรทัดคำสั่งสำหรับโปรแกรม:

ตัวเลือก DelEmpty.exe [เส้นทาง]
การโต้เถียง คำอธิบาย
-f ลบไฟล์เปล่า (0 ไบต์)
-d ลบไดเร็กทอรีว่าง
-v โหมดละเอียด
-ค โหมดยืนยัน (แสดงสิ่งที่ถูกลบ)
-s รวมไดเรกทอรีย่อย (สำรวจโฟลเดอร์ย่อย)
-l รายการสิ่งที่จะถูกลบ (จะไม่ลบ)
-y ลบโดยไม่มี (y/n) พรอมต์

ตัวอย่างที่ 1: ถึง รายการ ไฟล์ว่างภายใต้ไดเร็กทอรีและไดเร็กทอรีย่อย ฉันใช้ไวยากรณ์บรรทัดคำสั่งต่อไปนี้:

DelEmpty.exe "โฟลเดอร์ใหม่" -f -c -s -y -l
ลบไฟล์เปล่าซ้ำๆ

คำสั่งด้านบนแสดงรายการโฟลเดอร์ว่าง แต่จะไม่ลบทิ้งตั้งแต่ -l (รายการเท่านั้น) ใช้สวิตช์

สำหรับชื่อโฟลเดอร์ที่มีช่องว่าง — เช่น Mozilla Firefoxอย่าลืมใส่เครื่องหมายคำพูดคู่รอบๆ เส้นทาง

ตัวอย่างที่ 2: ถึง ลบ ไฟล์ว่างในโฟลเดอร์และโฟลเดอร์ย่อย ฉันรันบรรทัดคำสั่งเดียวกัน แต่ไม่มี -l สลับกัน:

DelEmpty.exe "โฟลเดอร์ใหม่" -f -c -s -y
ลบไฟล์เปล่าซ้ำๆ

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


คำขอเล็กน้อย: หากคุณชอบโพสต์นี้ โปรดแชร์สิ่งนี้

หนึ่งส่วนแบ่ง "เล็กน้อย" จากคุณจะช่วยอย่างมากในการเติบโตของบล็อกนี้ คำแนะนำที่ดีบางประการ:
  • ขามัน!
  • แชร์ไปยังบล็อกที่คุณชื่นชอบ + Facebook, Reddit
  • ทวีตมัน!
ขอบคุณมากสำหรับการสนับสนุนของคุณผู้อ่านของฉัน จะใช้เวลาไม่เกิน 10 วินาที ปุ่มแชร์อยู่ด้านล่าง :)

อีโซอิกรายงานโฆษณานี้