როგორ წავშალოთ ცარიელი ფაილები (0 ბაიტი) Windows-ში?

ზოგიერთი აპლიკაცია ქმნის ცარიელ 0-ბაიტ ფაილებს მონაცემთა საქაღალდეებში და ვერ ასუფთავებს მათ. დროთა განმავლობაში, თუ საქაღალდეების იერარქიაში ხედავთ ბევრ ნულოვან ფაილს, აქ მოცემულია რამდენიმე მეთოდი, რომ იპოვოთ ყველა ეს 0-ბაიტი ფაილი და წაშალოთ ისინი.

იპოვეთ და/ან წაშალეთ ცარიელი (0 ბაიტი) ფაილები Windows-ში:

  1. გამოყენებით "Find Empty Files-n-Folders" უტილიტა
  2. Windows Search-ის გამოყენებით
  3. Command Prompt-ის გამოყენებით
  4. PowerShell-ის გამოყენებით
  5. VBScript-ის გამოყენებით
  6. DelEmpty.exe-ის გამოყენებით

იპოვეთ და წაშალეთ 0-ბაიტი ფაილები რეკურსიულად საქაღალდის ხეში

მნიშვნელოვანია აღინიშნოს, რომ 0-ბაიტიანი ფაილების თვითნებურად წაშლა ზოგჯერ შეიძლება პრობლემური იყოს, რადგან ზოგიერთ აპლიკაციას შეიძლება დასჭირდეს ისინი როგორც ჩანაცვლების ადგილი ან სხვა მიზეზის გამო. თუ დარწმუნებული ხართ, რომ არ გჭირდებათ 0-ბაიტიანი ფაილები საქაღალდეში და გსურთ წაშალოთ ისინი, მიჰყევით ქვემოთ მოცემულ ერთ-ერთ მეთოდს.

დავიწყოთ მე-3 მხარის სუფთა პროგრამული უზრუნველყოფის GUI ხელსაწყოთი და შემდეგ გავაშუქოთ ძირითადი მეთოდები.

1. გამოიყენეთ უტილიტა "იპოვეთ ცარიელი ფაილები-n-საქაღალდეები".

Find Empty Files-n-Folders არის შესანიშნავი ინსტრუმენტი, რომელსაც შეუძლია ცარიელი ფაილების პოვნა და წაშლა (0-ბაიტი) და ცარიელი საქაღალდეები რეკურსიულად საქაღალდის ხის ქვეშ.

ჩამოტვირთვა იპოვნეთ ცარიელი ფაილები-n-საქაღალდეები (600KB ინსტალერი) Ashisoft.com-დან.

აირჩიეთ საქაღალდე და დააჭირეთ Scan Now.

ამოიღეთ ცარიელი საქაღალდეები Windows-ში

ინსტრუმენტი ჩამოთვლის ცარიელ ფაილებსა და საქაღალდეებს ცალკეულ ჩანართებში.

ცარიელი ფაილების ჩანართიდან დააწკაპუნეთ მონიშნეთ ყველა ფაილი და შემდეგ დააწკაპუნეთ Წაშალე ფაილები.

ამოიღეთ 0-ბაიტი ცარიელი ფაილები Windows-ში

ანალოგიურად, რომ წაშალეთ 0-ბაიტი ფაილები არჩეულ საქაღალდის ხეში დააწკაპუნეთ ცარიელი ფაილები ჩანართი.

Ashisoft.com-ს აქვს სხვა გასაოცარი ხელსაწყოები, რომელთა ნახვა შეგიძლიათ!


2. Windows Search-ის გამოყენებით

Windows Search საშუალებას გაძლევთ ჩამოთვალოთ ყველა 0-ბაიტი ფაილი გამოყენებით ზომა: შეკითხვის ოპერატორი.

გახსენით საქაღალდე, სადაც გსურთ იპოვოთ ან წაშალოთ ცარიელი ფაილები.

საძიებო ველში ჩაწერეთ ზომა: ცარიელი ან ზომა: 0 KB

იპოვნეთ და წაშალეთ 0-ბაიტი ფაილები Windows-ში

შედეგების გაფილტვრა ფაილის გაფართოებით (მაგ., javascript ფაილები → გაფართოება .ჯს ), გამოიყენეთ შემდეგი წინასწარი შეკითხვის სინტაქსი (AQS):

ზომა: ცარიელი და ext: js
იპოვნეთ და წაშალეთ 0-ბაიტი ფაილები Windows-ში

3. ბრძანების ხაზის გამოყენება

ყველა 0-ბაიტი (0 კბ) ფაილი არის საქაღალდე და ქვე-საქაღალდე რეკურსიულად და ფაილში სახელების გამოსატანად, გამოიყენეთ შემდეგი ბრძანება.

გაითვალისწინეთ, რომ თქვენ უნდა შეასრულოთ ბრძანება საქაღალდედან, სადაც გსურთ იპოვოთ ან წაშალოთ ცარიელი (0 KB) ფაილები.

/r %F-სთვის (*) გააკეთეთ @if %~zF==0 ექო „%F“ >>d:\0byte-files.txt

ალტერნატიულად, შეგიძლიათ ჩართოთ სამიზნე საქაღალდის გზა ამისთვის ბრძანება ისე, რომ არ მოგიწიოთ დირექტორიას შეცვლა კონსოლის ფანჯარაში. მაგალითი:

/r "d:\websites"-ისთვის %F (*)-ში გააკეთეთ @if %~zF==0 ექო "%F" >>d:\0byte-files.txt

ამ გზით, თქვენ არ გჭირდებათ გადახვიდეთ ამ კონკრეტულ საქაღალდეზე Command Prompt-ში

0-ბაიტიანი ფაილების სრული სია იწერება დასახელებულ ფაილზე 0byte-files.txt ზე დ:\ მართოს.

იპოვნეთ და წაშალეთ 0-ბაიტი ფაილები Windows-ში

ფაილების წასაშლელად, თქვენ იყენებთ დელ ბრძანების ნაცვლად ექო.

/r %F-სთვის (*.*) გააკეთეთ @if %~zF==0 „%F“-ში

ან მიუთითეთ სამიზნე საქაღალდის გზა თავად ბრძანებაში:

/r "d:\websites"-ისთვის %F-ში (*.*) გააკეთეთ @if %~zF==0 del "%F"

იპოვეთ და წაშალეთ 0-ბაიტი ფაილები, რომლებსაც აქვთ კონკრეტული ფაილის გაფართოება

ზემოთ მოყვანილ მაგალითებში შეგიძლიათ გაფილტროთ ფაილის გაფართოებითაც კი. მაგალითად, 0-ბაიტის წაშლა .ტექსტი ფაილები, თქვენ იყენებთ *.ტექსტი მაგივრად *.* ან *

/r %F-სთვის (*.txt) გააკეთეთ @if %~zF==0 del "%F"

ან საქაღალდის ბილიკის ხსენებით:

/r "d:\websites"-ისთვის %F-ში (*.txt) გააკეთეთ @if %~zF==0 del "%F"

ეს წაშლის ყველა ცარიელს .ტექსტი ფაილები მიმდინარე საქაღალდედან და ქვე-საქაღალდეებიდან, ან მითითებულ საქაღალდეში რეკურსიულად.

შექმენით Batch ფაილი

თუ გსურთ სერიული ფაილის შექმნა იპოვეთ და ჩამოთვალეთ დაცარიელეთ ფაილები და გამოიტანეთ შედეგები ტექსტურ ფაილში, აქ არის ერთი:

@echo გამორთულია. set out="d:\0byte-files.txt" /r-სთვის "%~1." %%A-ში (*.*) გააკეთეთ, თუ %%~zA == 0 ექო "%%~fA" >> %out%

შეინახეთ ზემოაღნიშნული შინაარსი როგორც find-empty-files.bat.

რომ წაშლა ცარიელი ფაილები, ვიდრე ფაილების სიის გამოტანა, გამოიყენეთ ეს სერიული ფაილი:

@echo გამორთულია. /r-სთვის "%~1." %%A in (*.*) გააკეთეთ, თუ %%~zA == 0 del "%%~fA"

რომ გაუშვით სურათების ფაილი საქაღალდის წინააღმდეგ რეკურსიულად, თქვენ იყენებთ შემდეგ სინტაქსს:

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

რას აკეთებს ზემოთ მოცემული ბრძანება?

  • /r %F-სთვის (*) იმეორებს ფაილებს აღნიშნულ საქაღალდეში და ქვესაქაღალდეში რეკურსიულად.
  • თუ %~zF==0 ამოწმებს, არის თუ არა გამეორებული ფაილი 0-ბაიტიანი ფაილი
  • del %%~fA წაშალეთ 0-ბაიტი ფაილი
დაკავშირებული:როგორ მოვძებნოთ და წაშალოთ ცარიელი საქაღალდეები ავტომატურად Windows-ში

4. PowerShell-ის გამოყენებით

გაუშვით PowerShell.exe და გამოიყენეთ ერთ-ერთი შემდეგი მეთოდი:

ცარიელი (0 KB) ფაილების სია

რომ მიიღეთ სია 0-ბაიტი ფაილებიდან საქაღალდის ხის ქვეშ, გამოიყენეთ ეს ბრძანების ხაზის სინტაქსი:

Get-ChildItem -გზა "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | აირჩიეთ -ExpandProperty FullName

სიის ფაილში გამოსატანად:

Get-ChildItem -გზა "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | აირჩიეთ -ExpandProperty FullName | Set-Content -გზა d:\found.txt
იპოვნეთ და წაშალეთ 0-ბაიტი ფაილები windows-ში - powershell

სიის ბადის ხედში გამოსატანად:

Get-ChildItem -გზა "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | გარე ხედვა

ჩამოვთვალოთ მხოლოდ ა კონკრეტული ფაილის ტიპი (მაგალითად., .ბმპ) :

Get-ChildItem -გზა "D:\websites" -შეიცავს *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | გარე ხედვა

წაშალეთ ცარიელი (0 KB) ფაილები

რომ წაშლა ყველა 0-ბაიტი ფაილი საქაღალდის ხის ქვეშ, გამოიყენეთ ეს ბრძანების ხაზის სინტაქსი:

Get-ChildItem -გზა "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | ნივთის ამოღება

0-ბაიტიანი ფაილების წასაშლელად, რომლებსაც აქვთ ა კონკრეტული გაფართოება (მაგალითად., .ბმპ)

Get-ChildItem -გზა "D:\websites" -შეიცავს *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | ნივთის ამოღება

5. VBScript-ის გამოყენებით

წაშალეთ 0-ბაიტი ცარიელი ფაილები windows-ში - vbscriptშემდეგი VBScript ასუფთავებს ცარიელ (0-ბაიტი) ფაილებს საქაღალდეში რეკურსიულად.

დააკოპირეთ შემდეგი კოდი Notepad-ში და შეინახეთ როგორც del-zero-byte-files.vbs

ვარიანტი აშკარა, თუ (WScript. არგუმენტები. დათვალეთ <> 1) შემდეგ WScript. Echo ("გამოყენება: cscript DeleteEmptyFolders.vbs {path}") WScript. დატოვება (1) End If Dim strPath: strPath = WScript. არგუმენტები (0) Dim fso: დააყენეთ fso = CreateObject("Scripting. FileSystemObject") Dim objFolder: დააყენეთ objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (საქაღალდე) ჩაბნელებული ქვესაქაღალდე, ფაილი შეცდომის შესახებ Resume შემდეგი 'შეცდომების გამოტოვება Junctions-ზე წვდომისას და ა.შ. თითოეული ქვესაქაღალდისთვის საქაღალდეში. ქვესაქაღალდეები DeleteZeroByteFiles ქვესაქაღალდე შემდეგი შეცდომის შემთხვევაში გადადით 0 თითოეული ფაილისთვის folder.files-ში თუ file.size = 0 შემდეგ sFilePath = ფაილი. გზა შეცდომის შესახებ განაახლეთ შემდეგი fso. DeleteFile ფაილი, True If Err.number <> 0 then sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf სხვა sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 ბოლოს, თუ შეცდომის ჩართულია, გადადით 0 დასასრული, თუ შემდეგი. End Sub If sDelList = "" და sDelErr = "" შემდეგ WScript. ექო "ცარიელი ფაილები არ მოიძებნა " & _ & strPath & & " ხე" WScript-ში. თავი დაანებე. End If If sDelList <> "" მაშინ sDelList = "ცარიელი ფაილების სია წაშლილია" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "სულ: " & iCnt & " ფაილები წაიშალა." If sDelErr <> "" then sDelErr = "ამ ფაილების წაშლა ვერ მოხერხდა" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr

გამოყენება

სკრიპტის საქაღალდეში გასაშვებად, შეგიძლიათ გამოიყენოთ wscript.exe ან cscript.exe, როგორც ქვემოთ:

cscript d:\scripts\del-zero-byte-files.vbs "d:\მოგზაურობის დოკუმენტები" wscript d:\scripts\del-zero-byte-files.vbs "d:\მოგზაურობის დოკუმენტები"

CScript.exe აჩვენებს გამოსავალს კონსოლის ფანჯარაში. ეს ნიშნავს, რომ თქვენ უნდა გაუშვათ იგი Command Prompt ფანჯრიდან, რომ ნახოთ გამოსავალი.

WScript.exe აჩვენებს გამოსავალს GUI-ში.

გაგზავნის მენიუს მეშვეობით

თქვენ შეგიძლიათ შექმნათ სკრიპტის მალსახმობი თქვენს SendTo საქაღალდე და დაასახელეთ როგორც წაშალეთ 0-ბაიტი ფაილები. პრეფიქსი wscript.exe მალსახმობის თვისებების სამიზნე ველში.

წაშალეთ 0-ბაიტი ცარიელი ფაილები windows-ში - vbscript

შემდეგ, დააწკაპუნეთ მარჯვენა ღილაკით საქაღალდეზე, სადაც გსურთ წაშალოთ ცარიელი ფაილები საქაღალდის ხეში რეკურსიულად → დააწკაპუნეთ Გაგზავნა → დააწკაპუნეთ წაშალეთ 0-ბაიტი ფაილები გაგზავნის მენიუში.

დაინახავთ წაშლილი ცარიელი ფაილების ჩამონათვალს და საერთო რაოდენობას და ფაილებს, რომელთა წაშლა შეუძლებელია შესაბამისი შეცდომის კოდების ჩვენებით.

წაშალეთ 0-ბაიტი ცარიელი ფაილები windows-ში - vbscript
დაკავშირებული:როგორ ამოიღოთ ცარიელი საქაღალდეები ავტომატურად Windows-ში

6. გამოიყენეთ DelEmpty.exe

DelEmpty.exe არის IntelliAdmin-ის კონსოლის ინსტრუმენტი, რომელსაც შეუძლია რეკურსიულად წაშალოს ცარიელი დირექტორიები. ამ პროგრამას ასევე შეუძლია სწრაფად წაშალოს ცარიელი 0 ბაიტიანი ფაილები რეკურსიულად.

შემდეგი არის პროგრამის ბრძანების ხაზის სინტაქსი:

DelEmpty.exe OPTIONS [PATH]
არგუმენტი აღწერა
-ვ წაშალეთ ცარიელი (0-ბაიტი) ფაილები
-დ წაშალეთ ცარიელი დირექტორიები
-ვ სიტყვიერი რეჟიმი
-გ დადასტურების რეჟიმი (გვიჩვენებს რა წაშლილია)
-ს ქვედირექტორიების ჩართვა (ტრავერსი ქვესაქაღალდეები)
-ლ ჩამოთვალეთ რა წაიშლება (არ წაშლის)
-ი წაშლა (y/n) მოთხოვნის გარეშე

მაგალითი 1: რომ სია ცარიელი ფაილები დირექტორიაში და მის ქვეცნობაროებში, მე გამოვიყენე შემდეგი ბრძანების ხაზის სინტაქსი:

DelEmpty.exe "ახალი საქაღალდე" -f -c -s -y -l
წაშალეთ ცარიელი ფაილები რეკურსიულად

ზემოაღნიშნული ბრძანება აჩვენებს ცარიელი საქაღალდეების სიას, მაგრამ არ წაშლის მათ -ლ (მხოლოდ სია) გამოიყენება გადამრთველი.

საქაღალდეების სახელებისთვის, რომლებიც შეიცავს სივრცეს (s) - მაგ., Mozilla Firefox, დარწმუნდით, რომ შეიყვანეთ ორმაგი ბრჭყალები ბილიკის გარშემო.

მაგალითი 2: რომ წაშლა ცარიელი ფაილები საქაღალდეში და ქვესაქაღალდეში, მე გავუშვი იგივე ბრძანების ხაზი, მაგრამ გარეშე -ლ შეცვლა:

DelEmpty.exe "ახალი საქაღალდე" -f -c -s -y
წაშალეთ ცარიელი ფაილები რეკურსიულად

იცით რაიმე სხვა პროგრამა, რომელსაც შეუძლია ქვესაქაღალდეების გადაკვეთა და ცარიელი ფაილების წაშლა? გავიგოთ თქვენი კომენტარები.


ერთი პატარა მოთხოვნა: თუ მოგეწონათ ეს პოსტი, გთხოვთ გააზიაროთ?

თქვენგან ერთი "პატარა" გაზიარება სერიოზულად დაგეხმარება ამ ბლოგის ზრდაში. რამდენიმე შესანიშნავი წინადადება:
  • ჩამაგრება!
  • გააზიარეთ ის თქვენს საყვარელ ბლოგზე + Facebook, Reddit
  • ტვიტერში!
ასე რომ, დიდი მადლობა მხარდაჭერისთვის, ჩემო მკითხველო. თქვენი დროის 10 წამზე მეტი არ დასჭირდება. გაზიარების ღილაკები ზუსტად ქვემოთ არის. :)

ეზოურიშეატყობინეთ ამ რეკლამას