95 votes

Comment vider la corbeille via l'invite de commandes?

Généralement, nous supprimons le contenu de la corbeille en cliquant dessus avec la souris et en sélectionnant "Vider la corbeille". Mais j'ai une exigence où je dois supprimer le contenu de la corbeille en utilisant l'invite de commandes. Est-ce possible? Si oui, comment puis-je y parvenir?

2 votes

Je laisse simplement Windows supprimer automatiquement les fichiers les plus anciens lorsque la Corbeille atteint sa taille maximale superuser.com/questions/69284/…

0 votes

Y a-t-il un moyen qui ne nécessite pas l'étape supplémentaire de l'utilisation de l'invite de commande admin? C'est okay si cela ne concerne que mon compte, je n'utilise qu'un seul compte sur mon PC.

109voto

Cody Gray Points 102261

Vous pouvez "vider" efficacement la Corbeille depuis l'invite de commande en supprimant définitivement le répertoire de la Corbeille sur le lecteur contenant les fichiers système. (Dans la plupart des cas, il s'agira du lecteur C:, mais vous ne devez pas coder en dur cette valeur car elle ne sera pas toujours vraie. Utilisez plutôt la variable d'environnement %systemdrive%.)

Cette tactique fonctionne car chaque lecteur possède un dossier caché et protégé nommé $Recycle.bin, où la Corbeille stocke réellement les fichiers et dossiers supprimés. Lorsque ce répertoire est supprimé, Windows crée automatiquement un nouveau répertoire.

Donc, pour supprimer le répertoire, utilisez la commande rd (r​emove d​irectory) avec le paramètre /s, indiquant que tous les fichiers et répertoires dans le répertoire spécifié doivent également être supprimés :

rd /s %systemdrive%\$Recycle.bin

Notez que cette action supprimera définitivement tous les fichiers et dossiers actuellement dans la Corbeille de tous les comptes d'utilisateurs. De plus, vous devrez (évidemment) exécuter la commande depuis une invite de commande élevée pour avoir les privilèges suffisants pour effectuer cette action.

18 votes

Quelques autres mises en garde : le changement de statut de la corbeille peut ne pas être reflété dans l'Explorateur (l'icône du bureau) tant que vous n'ouvrez pas réellement la Corbeille et/ou rafraîchissez le bureau, cela n'affecte que ce volume particulier; les fichiers recyclés sur d'autres lecteurs ne seront pas affectés, donc vous ne videz peut-être pas réellement la corbeille avec cette méthode, et le nom de répertoire peut varier en fonction de la version de Windows (et je crois aussi du système de fichiers). Il peut s'agir de $Recycle.bin, Recycled, Recycler, etc. et vous pouvez même en avoir plusieurs si vous avez un multi-boot - des programmes comme Norton Recovery Bin ont leurs propres répertoires.

1 votes

@Synetech, Comment déterminons-nous s'il s'agit de $Recycle.bin, Recycled ou Recycler? Y a-t-il une variable pour cela, ou le seul moyen est-il de capturer les exceptions?

4 votes

Note : Si vous utilisez cela dans un script, vous voudrez également passer le commutateur /q afin que rd ne vous donne pas de invite supplémentaire. rd /s /q %SYSTEMDRIVE%\$Recycle.bin

33voto

wasatchwizard Points 360

Je préfère recycle.exe de Frank P. Westlake. Il fournit un bon état avant et après. (J'utilise les divers utilitaires de Frank depuis bien plus de dix ans..)

C:\> recycle.exe /E /F
Recycle Bin: ALL
    Recycle Bin C:  44 éléments, 42,613,970 octets.
    Recycle Bin D:   0 éléments, 0 octets.
            Total:  44 éléments, 42,613,970 octets.

Vidage de la corbeille : TOUS
    Recycle Bin C:   0 éléments, 0 octets.
    Recycle Bin D:   0 éléments, 0 octets.
            Total:   0 éléments, 0 octets.

Il a également de nombreuses autres utilisations et options (la sortie répertoriée est de /?).

Recycler tous les fichiers et dossiers dans C:\TEMP :
  RECYCLE C:\TEMP\*

Lister tous les fichiers DOC qui ont été recyclés de n'importe quel répertoire sur le lecteur C :
  RECYCLE /L C:\*.DOC

Restaurer tous les fichiers DOC qui ont été recyclés de n'importe quel répertoire sur le lecteur C :
  RECYCLE /U C:\*.DOC

Restaurer C:\temp\junk.txt dans C:\docs\resume.txt :
  RECYCLE /U "C:\temp\junk.txt" "C:\docs\resume.txt"

Renommer sur place C:\etc\config.cfg en C:\archive\config.2007.cfg :
  RECYCLE /R "C:\etc\config.cfg" "C:\archive\config.2007.cfg"

0 votes

Ne rencontre-t-il pas le même problème que celui mentionné par Synetech ? stackoverflow.com/questions/9238953/…

1 votes

@Pacerier Je ne montre pas la Corbeille sur mon bureau, donc je n'avais jamais remarqué auparavant si l'icône se met à jour ou non. Après avoir juste testé, l'icône est mise à jour correctement après avoir vidé la corbeille via recycle.exe. En ce qui concerne les répertoires, je m'attends à ce que cela utilise une API Win32 pour vider la Corbeille. Cela étant dit, j'ai utilisé cet utilitaire pendant de nombreuses années sur Windows, y compris XP, 7, 8, 8.1 et Server 2003, 2012, 2012 R2. (Je l'ai probablement utilisé sur Vista et Server 2008, mais je n'ai pas utilisé ces systèmes d'exploitation très longtemps, donc je ne peux pas l'affirmer avec certitude..)

1 votes

Oui, ce n'est pas un outil particulièrement utile, surtout qu'il existe déjà des façons intégrées de le faire.

16voto

S Rahul Bose Points 117

nircmd vous permet de le faire en tapant

nircmd.exe emptybin

http://www.nirsoft.net/utils/nircmd-x64.zip
http://www.nirsoft.net/utils/nircmd.html

1 votes

Merci j'avais besoin de ça quand j'avais beaucoup dans ma corbeille de recyclage et le clic sur Windows pour vider ne fonctionne pas. Merci.

0 votes

@shareef Merci pour le commentaire :)

14voto

trythis Points 111

Vous pouvez utiliser un script powershell (cela fonctionne également pour les utilisateurs redirigeant leur dossier pour ne pas occuper d'espace de stockage serveur avec leur corbeille de recyclage)

$Shell = New-Object -ComObject Shell.Application
$RecBin = $Shell.Namespace(0xA)
$RecBin.Items() | %{Remove-Item $_.Path -Recurse -Confirm:$false}

Le script ci-dessus est tiré de ici.

Si vous avez windows 10 et powershell 5, il y a le Clear-RecycleBin commandelet.

Pour utiliser Clear-RecycleBin à l'intérieur de PowerShell sans confirmation, vous pouvez utiliser Clear-RecycleBin -Force. La documentation officielle peut être trouvée ici

3 votes

Vider RecycleBin est utile dans PowerShell sous Windows 10

0 votes

Clear-RecycleBin a réussi à supprimer avec succès certains noms de dossiers mal formés dans la corbeille que je n'aurais pas pu supprimer autrement.

10voto

Mwizak Points 1543

Vous pouvez utiliser cette commande PowerShell.

Clear-RecycleBin -Force

Note: Si vous souhaitez une invite de confirmation, supprimez le drapeau -Force

0 votes

Commande très pratique, merci

2 votes

Fonctionne, renvoie une erreur : Clear-RecycleBin : Le système ne peut pas trouver le chemin spécifié À la ligne : 1 char : 1 + Clear-RecycleBin -Force + ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation : (RecycleBin:String) [Clear-RecycleBin], Win32Exception + FullyQualifiedErrorId : EchecDeVidageCorbeille, Microsoft.PowerShell.Commands.ClearR‌​ecycleBinCommand

0 votes

Cela devrait être la première chose que les gens essaient.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X