Egyes alkalmazások üres 0 bájtos fájlokat hoznak létre az adatmappákban, és nem törlik őket. Idővel, ha sok nulla bájtos fájlt lát egy mappahierarchiában, íme néhány módszer a 0 bájtos fájlok megkeresésére és törlésére.
Üres (0 bájtos) fájlok keresése és/vagy törlése a Windows rendszerben:
- az „Üres fájlok-n-mappák keresése” segédprogram segítségével
- a Windows Search segítségével
- a Parancssor használatával
- PowerShell használatával
- VBScript használatával
- DelEmpty.exe használatával
0 bájtos fájlok rekurzív keresése és törlése egy mappafában
Fontos megjegyezni, hogy a 0 bájtos fájlok önkényes törlése néha problémás lehet, mivel egyes alkalmazásoknak szükségük lehet rájuk helyőrzőként vagy más okból. Ha biztos abban, hogy nincs szüksége 0 bájtos fájlokra egy mappa elérési útjában, és törölni szeretné őket, kövesse az alábbi módszerek egyikét.
Kezdjük egy ügyes, harmadik féltől származó ingyenes grafikus felhasználói felülettel, majd térjünk ki a natív módszerekre.
1. Az „Üres fájlok-n-mappák keresése” segédprogram használata
A Find Empty Files-n-Folders egy kiváló eszköz, amely képes megtalálni és törölni az üres fájlokat (0 bájtos) és üres mappák rekurzívan egy mappafa alatt.
Letöltés Keresse meg az Üres fájlok-n-mappákat (600 KB telepítő) az Ashisoft.com webhelyről.
Válassza ki a mappát, és kattintson a Beolvasás most gombra.
Az eszköz külön lapokon listázza ki az üres fájlokat és mappákat.
Az Üres fájlok lapon kattintson a gombra Jelölje ki az összes fájlt majd kattintson Fájlok törlése.
Hasonlóképpen, hogy törölje a 0 bájtos fájlokat a kiválasztott mappafában kattintson a Üres fájlok lapon.
Az Ashisoft.com más fantasztikus eszközöket is kínál, amelyeket megtekinthet!
2. A Windows Search használata
A Windows Search lehetővé teszi az összes 0 bájtos fájl listázását a méret:
lekérdezés operátor.
Nyissa meg azt a mappát, amelyben üres fájlokat szeretne keresni vagy törölni.
A keresőmezőbe írja be méret: üres
vagy méret: 0 KB
Az eredmények szűrése fájlkiterjesztés szerint (pl. javascript fájlok → kiterjesztés .js
), használja a következőket Advance Query Syntax (AQS):
méret: üres ÉS ext: js
3. Parancssor használata
Az összes 0 bájtos (0 KB) mappa és almappák rekurzív listázásához, és a nevek fájlba való kiírásához használja a következő parancsot.
Vegye figyelembe, hogy a parancsot abból a mappából kell futtatnia, amelyben üres (0 KB) fájlokat szeretne keresni vagy törölni.
az /r %F esetén (*) tegye az @if %~zF==0 "%F" szöveget >>d:\0byte-files.txt
Alternatív megoldásként megadhatja a célmappa elérési útját a számára
parancsot, hogy ne kelljen módosítania a könyvtárat a konzolablakban. Példa:
/r "d:\websites" %F esetén (*) tegye @if %~zF==0 visszhangja "%F" >>d:\0byte-files.txt
Így nem kell átváltania az adott mappára a Parancssorban
A kimeneti 0 bájtos fájlok teljes listája a nevezett fájlba kerül 0byte-files.txt
a D:\
hajtás.
A fájlok törléséhez használja a del
parancs helyett visszhang
.
/r %F esetén (*.*) tegye @if %~zF==0 del "%F"
vagy magában a parancsban említse meg a célmappa elérési útját:
/r "d:\websites" %F in (*.*) esetén tegye @if %~zF==0 del "%F"
Keresse meg és törölje a 0 bájtos fájlokat, amelyeknek adott kiterjesztése van
A fenti példákban akár fájlkiterjesztés szerint is szűrhet. Például 0 bájt törléséhez .txt
fájlokat használna *.txt
ahelyett *.*
vagy *
/r %F esetén (*.txt) tegye @if %~zF==0 del "%F"
vagy a mappa elérési útjának megemlítésével:
/r "d:\websites" %F esetén (*.txt) tegye @if %~zF==0 del "%F"
Ez az összes üreset törölné .txt
fájlokat az aktuális mappából és almappákból, vagy a megadott mappafában rekurzívan.
Hozzon létre egy kötegfájlt
Ha kötegelt fájlt szeretne készíteni megkeresni és listázni üres fájlokat és az eredményeket szöveges fájlba írja ki, itt van egy:
@echo kikapcsolva. set out="d:\0byte-files.txt" /r "%~1." %%A in (*.*) tegye, ha %%~zA == 0 echo "%%~fA" >> %out%
Mentse el a fenti tartalmat másként find-empty-files.bat
.
Nak nek töröl üres fájlokat a fájlok listájának kiadása helyett használja ezt a kötegfájlt:
@echo kikapcsolva. /r "%~1." %%A in (*.*) tegye, ha %%~zA == 0 del "%%~fA"
Nak nek futtassa a kötegfájlt mappa ellen rekurzív módon a következő szintaxist kell használnia:
d:\scripts\find-empty-files.bat d:\websites
Mit csinál a fenti parancs?
-
/r %F esetén (*)
rekurzívan iterálja a fájlokat az említett mappában és almappákban. -
ha %~zF==0
ellenőrzi, hogy az iterált fájl 0 bájtos fájl-e -
del %%~fA
törölje a 0 bájtos fájlt
4. PowerShell használata
Indítsa el a PowerShell.exe fájlt, és használja a következő módszerek egyikét:
Üres (0 KB) fájlok listázása
Nak nek kapja meg a listát 0 bájtos fájlokat egy mappafa alatt, használja ezt a parancssori szintaxist:
Get-ChildItem -Path "D:\websites\test" -Recurse -Force | Ahol-Object { $_.PSIsContainer -eq $false -és $_.Length -eq 0 } | Válassza a -ExpandProperty FullName lehetőséget
A lista fájlba való kiadása:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Ahol-Object { $_.PSIsContainer -eq $false -és $_.Length -eq 0 } | Válassza az -ExpandProperty FullName | lehetőséget Set-Content -Path d:\found.txt
A lista rácsnézetbe való kiadása:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Ahol-Object { $_.PSIsContainer -eq $false -és $_.Length -eq 0 } | rácson kívüli nézet
Csak a felsoroláshoz a adott fájltípus (például., .bmp
) :
Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Ahol-Object { $_.PSIsContainer -eq $false -és $_.Length -eq 0 } | rácson kívüli nézet
Üres (0 KB) fájlok törlése
Nak nek töröl az összes 0 bájtos fájl egy mappafa alatt, használja ezt a parancssori szintaxist:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Ahol-Object { $_.PSIsContainer -eq $false -és $_.Length -eq 0 } | elem eltávolítása
0 bájtos fájlok törléséhez, amelyek a konkrét kiterjesztés (például., .bmp
)
Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Ahol-Object { $_.PSIsContainer -eq $false -és $_.Length -eq 0 } | elem eltávolítása
5. VBScript használata
A következő VBScript rekurzív módon törli az üres (0 bájtos) fájlokat a mappafában.
Másolja a következő kódot a Jegyzettömbbe, és mentse el másként del-zero-byte-files.vbs
Explicit If opció (WScript. Érvek. Count <> 1) Ezután WScript. Echo("Használat: cscript DeleteEmptyFolders.vbs {elérési út}") WScript. Kilépés (1) End If Dim strPath: strPath = WScript. Érvek (0) Dim fso: Set fso = CreateObject("Scripting. FileSystemObject") Halvány objFolder: Állítsa be: objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (mappa) Elhomályosítja az almappát, fájlt Hiba esetén Folytatás Következő 'Hibák kihagyása a Junctions stb. elérésekor. Minden almappához A mappában. Almappák DeleteZeroByteFiles almappa Next On Error Goto 0 Minden fájlhoz In folder.files Ha file.size = 0, akkor sFilePath = fájl. Útvonal hiba esetén Folytatás Következő fso. DeleteFile fájl, igaz If Err.number <> 0 Akkor sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Else sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 End If On Error Goto 0 End If Következő. End Sub If sDelList = "" És sDelErr = "" Akkor WScript. Echo "Nem található üres fájl a " & _ & strPath & & " fa" WScript alatt. Kilépés. End If If sDelList <> "" then sDelList = "Törölt üres fájlok listája" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Összesen: " & iCnt & " fájlok törölve." If sDelErr <> "" then sDelErr = "Ezeket a fájlokat nem lehetett törölni" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Használat
A parancsfájl mappában való futtatásához használhatja a wscript.exe vagy cscript.exe fájlt, az alábbiak szerint:
cscript d:\scripts\del-zero-byte-files.vbs "d:\travel document" wscript d:\scripts\del-zero-byte-files.vbs "d:\travel documents"
A CScript.exe megjeleníti a kimeneteket a konzol ablakában. Ez azt jelenti, hogy a kimenet megtekintéséhez a parancssori ablakból kell futtatnia.
A WScript.exe megjeleníti a kimeneteket a grafikus felhasználói felületen.
a Küldés menün keresztül
Létrehozhat egy parancsikont a szkripthez Küldés mappába és nevezd el így Törölje a 0 bájtos fájlokat. Előtag wscript.exe
a parancsikon tulajdonságainak célmezőjében.
Ezután kattintson a jobb gombbal arra a mappára, ahol rekurzívan törölni szeretné az üres fájlokat a mappafában → kattintson Címzett → kattintson Törölje a 0 bájtos fájlokat a Küldés menüben.
Megjelenik a törölt üres fájlok listája és az összes, valamint a nem törölhető fájlok listája a megfelelő hibakódokkal.
6. DelEmpty.exe használatával
DelEmpty.exe az IntelliAdmin konzoleszköze, amely képes rekurzívan törölni az üres könyvtárakat. Ez a program az üreseket is gyorsan törölheti 0 bájtos fájlok rekurzív módon.
A következő a program parancssori szintaxisa:
DelEmpty.exe OPCIÓK [ÚT.]
Érv | Leírás |
-f | Üres (0 bájtos) fájlok törlése |
-d | Üres könyvtárak törlése |
-v | Bőbeszédű mód |
-c | Megerősítő mód (Megmutatja, hogy mi lett törölve) |
-s | Alkönyvtárak felvétele (almappák bejárása) |
-l | Sorolja fel, hogy mit törölnének (nem törli) |
-y | Törlés (y/n) felszólítás nélkül |
1. példa: Nak nek lista az üres fájlokat egy könyvtár és alkönyvtárai alatt, a következő parancssori szintaxist használtam:
DelEmpty.exe "Új mappa" -f -c -s -y -l
A fenti parancs megjeleníti az üres mappák listáját, de nem törli őket, mivel a -l
(csak lista) kapcsolót használjuk.
Szóközt tartalmazó mappanevek esetén – pl. Mozilla Firefox
, ügyeljen arra, hogy a dupla idézőjeleket az elérési út körül.
2. példa: Nak nek töröl az üres fájlokat egy mappában és almappákban, ugyanazt a parancssort futtattam, de a -l
kapcsoló:
DelEmpty.exe "Új mappa" -f -c -s -y
Ismersz olyan segédprogramot, amely képes bejárni az almappákat és törölni az üres fájlokat? Ismerje meg észrevételeit.
Egy apró kérés: Ha tetszett a bejegyzés, kérlek oszd meg?
Egy "apró" megosztásod komolyan segítene ennek a blognak a növekedésében. Néhány nagyszerű javaslat:- Tűzd ki!
- Oszd meg kedvenc blogoddal + Facebook, Reddit
- Tweeteljen!
