Certaines applications créent des fichiers vides de 0 octet dans leurs dossiers de données et ne parviennent pas à les effacer. Au fil du temps, si vous voyez de nombreux fichiers de zéro octet dans une hiérarchie de dossiers, voici quelques méthodes pour trouver tous ces fichiers de 0 octet et les supprimer.
Recherchez et/ou supprimez des fichiers vides (0 octet) sous Windows :
- en utilisant l'utilitaire "Rechercher les fichiers-n-dossiers vides"
- à l'aide de la recherche Windows
- en utilisant l'invite de commande
- en utilisant PowerShell
- en utilisant VBScript
- en utilisant DelEmpty.exe
Rechercher et supprimer des fichiers de 0 octet de manière récursive dans une arborescence de dossiers
Il est important de noter que la suppression arbitraire de fichiers de 0 octet peut parfois être problématique, car certaines applications peuvent en avoir besoin comme espace réservé ou pour une autre raison. Si vous êtes sûr de ne pas avoir besoin de fichiers de 0 octet dans un chemin de dossier et que vous souhaitez tous les supprimer, suivez l'une des méthodes ci-dessous.
Commençons par un outil d'interface graphique tiers gratuit et soigné, puis couvrons ensuite les méthodes natives.
1. Utilisation de l'utilitaire « Rechercher des fichiers-n-dossiers vides »
Find Empty Files-n-Folders est un excellent outil qui peut rechercher et supprimer des fichiers vides (0-octet) et dossiers vides récursivement sous une arborescence de dossiers.
Télécharger Rechercher des fichiers-n-dossiers vides (installateur de 600 Ko) de Ashisoft.com.
Sélectionnez le dossier et cliquez sur Analyser maintenant.
L'outil répertorie les fichiers et dossiers vides dans des onglets séparés.
Dans l'onglet Fichiers vides, cliquez sur Marquer tous les fichiers puis cliquez sur Supprimer les fichiers.
Similaire à supprimer les fichiers de 0 octet dans l'arborescence des dossiers sélectionnés, cliquez sur le Fichiers vides languette.
Ashisoft.com a d'autres outils impressionnants que vous pouvez consulter !
2. Utilisation de la recherche Windows
La recherche Windows vous permet de répertorier tous les fichiers de 0 octet à l'aide du Taille:
opérateur de requête.
Ouvrez le dossier dans lequel vous souhaitez rechercher ou supprimer des fichiers vides.
Dans la zone de recherche, tapez taille: vide
ou taille: 0 Ko
Pour filtrer les résultats par extension de fichier (par exemple, fichiers javascript → extension .js
), utilisez le suivant Syntaxe de requête avancée (AQS) :
taille: vide ET ext: js
3. Utilisation de l'invite de commande
Pour répertorier tous les fichiers de 0 octet (0 Ko) dans un dossier et des sous-dossiers de manière récursive et afficher les noms dans un fichier, utilisez la commande suivante.
Notez que vous devrez exécuter la commande à partir du dossier dans lequel vous souhaitez rechercher ou supprimer des fichiers vides (0 Ko).
pour /r %F dans (*) do @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Vous pouvez également inclure le chemin du dossier cible dans le pour
commande afin que vous n'ayez pas à changer de répertoire dans la fenêtre de la console. Exemple:
pour /r "d:\websites" %F dans (*) do @if %~zF==0 echo "%F" >>d:\0byte-files.txt
De cette façon, vous n'avez pas besoin de basculer vers ce dossier particulier dans l'invite de commande
La liste complète des fichiers de sortie de 0 octet est écrite dans le fichier nommé 0byte-files.txt
sur le RÉ:\
conduire.
Pour supprimer les fichiers, vous utiliseriez le del
commande au lieu de écho
.
pour /r %F dans (*.*) faire @if %~zF==0 del "%F"
ou mentionnez le chemin du dossier cible dans la commande elle-même :
pour /r "d:\websites" %F dans (*.*) do @if %~zF==0 del "%F"
Rechercher et supprimer des fichiers de 0 octet ayant une extension de fichier spécifique
Dans les exemples ci-dessus, vous pouvez même filtrer par extension de fichier. Par exemple, pour supprimer 0 octet .SMS
fichiers, vous utiliseriez *.SMS
à la place de *.*
ou *
pour /r %F dans (*.txt) faire @if %~zF==0 del "%F"
ou en mentionnant le chemin du dossier :
pour /r "d:\websites" %F dans (*.txt) do @if %~zF==0 del "%F"
Cela supprimerait tous les vides .SMS
fichiers du dossier et des sous-dossiers actuels, ou dans l'arborescence de dossiers spécifiée de manière récursive.
Créer un fichier batch
Si vous souhaitez créer un fichier batch pour trouver et lister fichiers vides et afficher les résultats dans un fichier texte, en voici un :
@Écho off. set out="d:\0byte-files.txt" pour /r "%~1." %%A in (*.*) do if %%~zA == 0 echo "%%~fA" >> %out%
Enregistrez le contenu ci-dessus sous find-vide-files.bat
.
À effacer fichiers vides plutôt que de sortir la liste des fichiers, utilisez ce fichier batch :
@Écho off. pour /r "%~1." %%A dans (*.*) faire si %%~zA == 0 del "%%~fA"
À exécuter le fichier batch par rapport à un dossier de manière récursive, vous utiliseriez la syntaxe suivante :
d:\scripts\find-empty-files.bat d:\websites
A quoi sert la commande ci-dessus ?
-
pour /r %F dans (*)
itère les fichiers de manière récursive dans le dossier et les sous-dossiers mentionnés. -
si %~zF==0
vérifie si le fichier itéré est un fichier de 0 octet -
del %%~fA
supprimer le fichier 0 octet
4. Utilisation de PowerShell
Démarrez PowerShell.exe et utilisez l'une des méthodes suivantes :
Liste des fichiers vides (0 Ko)
À obtenir la liste de fichiers de 0 octet sous une arborescence de dossiers, utilisez cette syntaxe de ligne de commande :
Get-ChildItem -Path "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Sélectionnez -ExpandProperty FullName
Pour exporter la liste dans un fichier :
Get-ChildItem -Chemin "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Sélectionnez -ExpandProperty FullName | Set-Content -Chemin d:\found.txt
Pour afficher la liste en vue grille :
Get-ChildItem -Chemin "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | vue hors réseau
Pour n'énumérer qu'un type de fichier spécifique (par exemple., .bmp
) :
Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | vue hors réseau
Supprimer les fichiers vides (0 Ko)
À effacer tous les fichiers de 0 octet sous une arborescence de dossiers, utilisez cette syntaxe de ligne de commande :
Get-ChildItem -Chemin "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | retirer l'objet
Pour supprimer des fichiers de 0 octet ayant un extension spécifique (par exemple., .bmp
)
Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | retirer l'objet
5. Utilisation de VBScript
Le VBScript suivant efface les fichiers vides (0 octet) dans une arborescence de dossiers de manière récursive.
Copiez le code suivant dans le Bloc-notes et enregistrez-le sous del-zero-byte-files.vbs
Option explicite si (WScript. Arguments. Compte <> 1) Puis WScript. Echo("Utilisation: cscript DeleteEmptyFolders.vbs {chemin}") WScript. Quitter (1) Fin si Dim strPath: strPath = WScript. Arguments (0) Dim fso: définissez fso = CreateObject("Scripting. FileSystemObject") Dim objFolder: définissez objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Diminuer l'iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (dossier) Dim sous-dossier, fichier On Error Resume Next 'Ignore les erreurs lors de l'accès aux jonctions, etc. Pour chaque sous-dossier Dans le dossier. Sous-dossiers Sous-dossier DeleteZeroByteFiles Suivant En cas d'erreur Aller à 0 pour chaque fichier dans folder.files Si file.size = 0 Alors sFilePath = file. Chemin d'accès en cas d'erreur Reprendre le prochain fso. DeleteFile file, True If Err.number <> 0 Then 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 Suivant. End Sub If sDelList = "" And sDelErr = "" Then WScript. Echo "Aucun fichier vide trouvé sous le WScript " & _ & strPath & & " tree". Quitter. End If If sDelList <> "" then sDelList = "Liste des fichiers vides supprimés" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Total: " & iCnt & " fichiers supprimés." If sDelErr <> "" then sDelErr = "Ces fichiers n'ont pas pu être supprimés" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Écho sDelList & vbCrLf & vbCrLf & sDelErr
Usage
Pour exécuter le script sur un dossier, vous pouvez utiliser wscript.exe ou cscript.exe, comme ci-dessous :
cscript d:\scripts\del-zero-byte-files.vbs "d:\documents de voyage" wscript d:\scripts\del-zero-byte-files.vbs "d:\documents de voyage"
CScript.exe affiche les sorties dans la fenêtre de la console. Cela signifie que vous devrez l'exécuter à partir d'une fenêtre d'invite de commande pour voir la sortie.
WScript.exe affiche les sorties dans l'interface graphique.
via le menu Envoyer vers
Vous pouvez créer un raccourci vers le script dans votre Dossier d'envoi et nommez-le comme Supprimer les fichiers de 0 octet. Préfixe wscript.exe
dans le champ cible des propriétés du raccourci.
Ensuite, faites un clic droit sur un dossier où vous souhaitez supprimer les fichiers vides dans l'arborescence des dossiers de manière récursive → cliquez sur Envoyer à → cliquez sur Supprimer les fichiers de 0 octet dans le menu Envoyer vers.
Vous verrez la liste des fichiers vides supprimés et le total, et les fichiers qui n'ont pas pu être supprimés avec les codes d'erreur respectifs affichés.
6. Utilisation de DelEmpty.exe
DelEmpty.exe est un outil de console d'IntelliAdmin qui peut supprimer les répertoires vides de manière récursive. Ce programme peut également supprimer rapidement le vide fichiers de 0 octet récursivement.
Voici la syntaxe de la ligne de commande du programme :
OPTIONS DelEmpty.exe [CHEMIN]
Argument | La description |
-F | Supprimer les fichiers vides (0 octet) |
-ré | Supprimer les répertoires vides |
-v | Mode verbeux |
-c | Mode de confirmation (affiche ce qui a été supprimé) |
-s | Inclure les sous-répertoires (sous-dossiers de parcours) |
-l | Listez ce qui serait supprimé (ne supprimera pas) |
-y | Supprimer sans invite (o/n) |
Exemple 1: À liste les fichiers vides sous un répertoire et ses sous-répertoires, j'ai utilisé la syntaxe de ligne de commande suivante :
DelEmpty.exe "Nouveau dossier" -f -c -s -y -l
La commande ci-dessus affiche la liste des dossiers vides, mais ne les supprimera pas car le -l
(liste seulement) est utilisé.
Pour les noms de dossier contenant des espaces — par exemple, Mozilla Firefox
, assurez-vous d'inclure les guillemets autour du chemin.
Exemple 2 : À effacer les fichiers vides dans un dossier et des sous-dossiers, j'ai exécuté la même ligne de commande mais sans le -l
changer:
DelEmpty.exe "Nouveau dossier" -f -c -s -y
Connaissez-vous un autre utilitaire capable de parcourir les sous-dossiers et de supprimer les fichiers vides? Faites connaître vos commentaires.
Une petite demande: si vous avez aimé ce post, merci de le partager ?
Un "minuscule" partage de votre part aiderait beaucoup à la croissance de ce blog. Quelques bonnes suggestions :- Épinglez-le !
- Partagez-le sur votre blog préféré + Facebook, Reddit
- Tweetez-le !