ზოგიერთი აპლიკაცია ქმნის ცარიელ 0-ბაიტ ფაილებს მონაცემთა საქაღალდეებში და ვერ ასუფთავებს მათ. დროთა განმავლობაში, თუ საქაღალდეების იერარქიაში ხედავთ ბევრ ნულოვან ფაილს, აქ მოცემულია რამდენიმე მეთოდი, რომ იპოვოთ ყველა ეს 0-ბაიტი ფაილი და წაშალოთ ისინი.
იპოვეთ და/ან წაშალეთ ცარიელი (0 ბაიტი) ფაილები Windows-ში:
- გამოყენებით "Find Empty Files-n-Folders" უტილიტა
- Windows Search-ის გამოყენებით
- Command Prompt-ის გამოყენებით
- PowerShell-ის გამოყენებით
- VBScript-ის გამოყენებით
- DelEmpty.exe-ის გამოყენებით
იპოვეთ და წაშალეთ 0-ბაიტი ფაილები რეკურსიულად საქაღალდის ხეში
მნიშვნელოვანია აღინიშნოს, რომ 0-ბაიტიანი ფაილების თვითნებურად წაშლა ზოგჯერ შეიძლება პრობლემური იყოს, რადგან ზოგიერთ აპლიკაციას შეიძლება დასჭირდეს ისინი როგორც ჩანაცვლების ადგილი ან სხვა მიზეზის გამო. თუ დარწმუნებული ხართ, რომ არ გჭირდებათ 0-ბაიტიანი ფაილები საქაღალდეში და გსურთ წაშალოთ ისინი, მიჰყევით ქვემოთ მოცემულ ერთ-ერთ მეთოდს.
დავიწყოთ მე-3 მხარის სუფთა პროგრამული უზრუნველყოფის GUI ხელსაწყოთი და შემდეგ გავაშუქოთ ძირითადი მეთოდები.
1. გამოიყენეთ უტილიტა "იპოვეთ ცარიელი ფაილები-n-საქაღალდეები".
Find Empty Files-n-Folders არის შესანიშნავი ინსტრუმენტი, რომელსაც შეუძლია ცარიელი ფაილების პოვნა და წაშლა (0-ბაიტი) და ცარიელი საქაღალდეები რეკურსიულად საქაღალდის ხის ქვეშ.
ჩამოტვირთვა იპოვნეთ ცარიელი ფაილები-n-საქაღალდეები (600KB ინსტალერი) Ashisoft.com-დან.
აირჩიეთ საქაღალდე და დააჭირეთ Scan Now.
ინსტრუმენტი ჩამოთვლის ცარიელ ფაილებსა და საქაღალდეებს ცალკეულ ჩანართებში.
ცარიელი ფაილების ჩანართიდან დააწკაპუნეთ მონიშნეთ ყველა ფაილი და შემდეგ დააწკაპუნეთ Წაშალე ფაილები.
ანალოგიურად, რომ წაშალეთ 0-ბაიტი ფაილები არჩეულ საქაღალდის ხეში დააწკაპუნეთ ცარიელი ფაილები ჩანართი.
Ashisoft.com-ს აქვს სხვა გასაოცარი ხელსაწყოები, რომელთა ნახვა შეგიძლიათ!
2. Windows Search-ის გამოყენებით
Windows Search საშუალებას გაძლევთ ჩამოთვალოთ ყველა 0-ბაიტი ფაილი გამოყენებით ზომა:
შეკითხვის ოპერატორი.
გახსენით საქაღალდე, სადაც გსურთ იპოვოთ ან წაშალოთ ცარიელი ფაილები.
საძიებო ველში ჩაწერეთ ზომა: ცარიელი
ან ზომა: 0 KB
შედეგების გაფილტვრა ფაილის გაფართოებით (მაგ., javascript ფაილები → გაფართოება .ჯს
), გამოიყენეთ შემდეგი წინასწარი შეკითხვის სინტაქსი (AQS):
ზომა: ცარიელი და ext: js
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
ზე დ:\
მართოს.
ფაილების წასაშლელად, თქვენ იყენებთ დელ
ბრძანების ნაცვლად ექო
.
/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-ბაიტი ფაილი
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
სიის ბადის ხედში გამოსატანად:
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-ის გამოყენებით
შემდეგი 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-ბაიტი ფაილები გაგზავნის მენიუში.
დაინახავთ წაშლილი ცარიელი ფაილების ჩამონათვალს და საერთო რაოდენობას და ფაილებს, რომელთა წაშლა შეუძლებელია შესაბამისი შეცდომის კოდების ჩვენებით.
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
- ტვიტერში!