Comment supprimer des fichiers vides (0 octet) dans Windows?

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 zéro octet dans une hiérarchie de dossiers, voici quelques méthodes pour trouver tous ces fichiers 0 octet et les supprimer.

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 les supprimer tous, suivez l'une des méthodes ci-dessous.

Commençons par un outil graphique convivial et gratuit, puis couvrons les méthodes natives ensuite.

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 des dossiers vides de manière récursive sous une arborescence de dossiers.

Téléchargez Find Empty Files-n-Folders (programme d'installation de 600 Ko) depuis 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 sur Supprimer les fichiers .

De même, pour supprimer les fichiers de 0 octet dans l'arborescence de dossiers sélectionnée, cliquez sur l'onglet Fichiers vides .

$config[ads_text6] not found

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 de l'opérateur size: query.

Ouvrez le dossier dans lequel vous souhaitez rechercher ou supprimer des fichiers vides.

Dans la zone de recherche, tapez size:empty ou size:0 KB

Pour filtrer les résultats par une extension de fichier (par exemple, fichiers javascript → extension .js ), utilisez la syntaxe de requête avancée (AQS) suivante:

 taille: vide ET ext: js 


3. Utilisation de l'invite de commande

Pour répertorier tous les fichiers de 0 octet (0 Ko) est un dossier et des sous-dossiers récursivement et sortie 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 (*) faire @if% ~ zF == 0 echo "% F" >> d: \ 0byte-files.txt 

Alternativement, vous pouvez inclure le chemin du dossier cible dans la commande for afin de ne pas avoir à changer de répertoire dans la fenêtre de la console. Exemple:

 pour / r "d: \ sites Web"% F dans (*) faire @if% ~ zF == 0 écho "% F" >> d: \ 0byte-files.txt 

De cette façon, vous n'avez pas à basculer vers ce dossier particulier dans l'invite de commandes

La liste complète de la sortie des fichiers de 0 octet est écrite dans le fichier nommé 0byte-files.txt sur le lecteur D:\ .

Pour supprimer les fichiers, vous utiliseriez la commande del au lieu de echo .

 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: \ sites Web"% F dans (*. *) faites @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 des fichiers .txt 0 octet, vous utiliseriez *.txt au lieu de *.* Ou *

 pour / r% F dans (* .txt) faire @if% ~ zF == 0 del "% F" 

ou en mentionnant le chemin du dossier:

 pour / r "d: \ sites Web"% F dans (* .txt) faites @if% ~ zF == 0 del "% F" 

Cela supprimerait tous les fichiers .txt vides 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 rechercher et répertorier les fichiers vides et exporter les résultats dans un fichier texte, en voici un:

 @echo off set out = "d: \ 0byte-files.txt" pour / r "% ~ 1". %% A in (*. *) Fait si %% ~ zA == 0 écho "%% ~ fA" >>% out% 

Enregistrez le contenu ci-dessus sous find-empty-files.bat .

Pour supprimer des fichiers vides plutôt que de sortir la liste des fichiers, utilisez ce fichier batch:

 @echo désactivé pour / r "% ~ 1". %% A dans (*. *) Faire si %% ~ zA == 0 del "%% ~ fA" 

Pour exécuter le fichier de commandes sur un dossier de manière récursive, vous utiliseriez la syntaxe suivante:

 d: \ scripts \ find-empty-files.bat d: \ sites Web 

Que fait la commande ci-dessus?

  • for /r %F in (*) itère récursivement les fichiers dans le dossier et les sous-dossiers mentionnés.
  • if %~zF==0 vérifie si le fichier itéré est un fichier de 0 octet
  • del %%~fA supprimer le fichier 0 octet

CONNEXES: Comment rechercher et supprimer automatiquement des dossiers vides dans Windows


4. Utilisation de PowerShell

Démarrez PowerShell.exe et utilisez l'une des méthodes suivantes:

Liste des fichiers vides (0 Ko)

Pour obtenir la liste des fichiers de 0 octet sous une arborescence de dossiers, utilisez cette syntaxe de ligne de commande:

 Get-ChildItem -Path "D: \ sites Web \ test" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longueur -eq 0} | Sélectionnez -ExpandProperty FullName 

Pour sortir la liste dans un fichier:

$config[ads_text6] not found
 Get-ChildItem -Path "D: \ sites Web" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longueur -eq 0} | Sélectionnez -ExpandProperty FullName | Set-Content -Path d: \ found.txt 

Pour sortir la liste en vue grille:

 Get-ChildItem -Path "D: \ sites Web" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longueur -eq 0} | out-gridview 

Pour répertorier uniquement un type de fichier spécifique (par exemple, .bmp ):

 Get-ChildItem -Path "D: \ sites Web" -include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longueur -eq 0} | out-gridview 

Supprimer les fichiers vides (0 Ko)

Pour supprimer tous les fichiers de 0 octet sous une arborescence de dossiers, utilisez cette syntaxe de ligne de commande:

 Get-ChildItem -Path "D: \ sites Web" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longueur -eq 0} | retirer l'objet 

Pour supprimer des fichiers de 0 octet ayant une extension spécifique (par exemple, .bmp )

 Get-ChildItem -Path "D: \ sites Web" -include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longueur -eq 0} | retirer l'objet 

4. Utilisation de VBScript

Le VBScript suivant efface récursivement les fichiers vides (0 octet) dans une arborescence de dossiers.

Copiez le code suivant dans le Bloc-notes et enregistrez-le sous del-zero-byte-files.vbs

 Option Explicit If (WScript.Arguments.Count 1) Then WScript.Echo ("Usage: cscript DeleteEmptyFolders.vbs {path}") WScript.Quit (1) End If Dim strPath: strPath = WScript.Arguments (0) Dim fso: Définir fso = CreateObject ("Scripting.FileSystemObject") Dim objFolder: Définir objFolder = fso.GetFolder (strPath) Dim sDelList, sDelErr, sFilePath Dim iCnt iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFilefile Ignorer les erreurs lors de l'accès aux jonctions, etc. Pour chaque sous-dossier dans le dossier. Sous-dossiers DeleteZeroByteFiles. True If Err.number 0 Then sDelErr = sDelErr & Err.number & ":" & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Sinon sDelList = sDelList & vbCrLf & sFilePath iCnt = ICnt + 1 End If Next End Sub If sDelList = "" And sDelErr = "" Then WScript.Echo "Aucun fichier vide trouvé sous "& _" "" "& strPath &" "" "&" arborescence "WScript.Quit End If If sDelList" "alors sDelList =" Liste des fichiers vides supprimés "& vbCrLf _ & String (38, " - ") & vbCrLf & sDelList & vbCrLf & _ vbCrLf &" Total: "& iCnt &" fichiers supprimés. " Si sDelErr "" alors sDelErr = "Ces fichiers n'ont pas pu être supprimés" & _ vbCrLf & String (45, "-") & vbCrLf & sDelErr WScript.Echo 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: \ travel documents" wscript d: \ scripts \ del-zero-byte-files.vbs "d: \ travel documents" 

CScript.exe affiche les sorties vers la fenêtre de la console. Cela signifie que vous devrez l'exécuter à partir d'une fenêtre d'invite de commandes pour voir la sortie.

WScript.exe affiche les sorties dans l'interface graphique.

via le menu Envoyer à

Vous pouvez créer un raccourci vers le script dans votre dossier SendTo et le nommer Supprimer les fichiers de 0 octet . Préfixez wscript.exe dans le champ cible des propriétés de raccourci.

Ensuite, cliquez avec le bouton droit sur un dossier dans lequel vous souhaitez supprimer récursivement les fichiers vides de l'arborescence des dossiers → cliquez sur Envoyer vers → 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.

CONNEXES: Comment supprimer automatiquement les dossiers vides dans Windows

C'est tout!

Articles Connexes