95 votes

comment vider la corbeille par l'invite de commande ?

Habituellement, nous supprimons le contenu de la corbeille en cliquant dessus avec le bouton droit de la souris et en sélectionnant "Vider la corbeille". Mais j'ai besoin de supprimer le contenu de la corbeille en utilisant l'invite de commande. Cela est-il possible ? Si oui, comment puis-je le faire ?

2 votes

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

0 votes

Existe-t-il un moyen qui ne nécessite pas l'étape supplémentaire d'utiliser l'invite cmd de l'administrateur ? Ce n'est pas grave si cela ne concerne que mon compte, je n'utilise qu'un seul compte sur mon PC.

109voto

Cody Gray Points 102261

Vous pouvez effectivement "vider" la corbeille à partir de la ligne de commande en supprimant définitivement le répertoire de la corbeille sur le lecteur qui contient les fichiers système. (Dans la plupart des cas, il s'agit du C: mais vous ne devriez pas coder cette valeur en dur car elle ne sera pas toujours vraie. Au lieu de cela, utilisez l'option %systemdrive% variable d'environnement).

La raison pour laquelle cette tactique fonctionne est que chaque lecteur possède un dossier caché et protégé portant le nom de $Recycle.bin C'est là que la corbeille stocke les fichiers et dossiers supprimés. Lorsque ce répertoire est supprimé, Windows crée automatiquement un nouveau répertoire.

Ainsi, pour supprimer le répertoire, utilisez la commande rd ( r emove d irectoire) avec le /s qui indique que tous les fichiers et répertoires du répertoire spécifié doivent également être supprimés :

rd /s %systemdrive%\$Recycle.bin

Veuillez noter que cette action en permanence supprimer tous les fichiers et dossiers actuellement dans la corbeille de tous les comptes d'utilisateurs . De plus, vous devrez (évidemment) exécuter la commande à partir d'une invite de commande élevée afin d'avoir les privilèges suffisants pour effectuer cette action.

18 votes

Quelques mises en garde supplémentaires : - le changement d'état de la corbeille peut ne pas se refléter dans l'Explorateur (l'icône du bureau) jusqu'à ce que vous ouvriez effectivement la corbeille et/ou rafraîchissiez le bureau, - cela n'affecte que ce volume particulier ; les fichiers recyclés sur d'autres disques ne seront pas affectés, donc vous ne serez peut-être pas réellement en train de faire des économies. vider la corbeille avec cette méthode, et - le nom du répertoire peut varier selon la version de Windows (et je crois aussi selon le système de fichiers). Il peut être $Recycle.bin , Recycled , Recycler et vous pouvez même en avoir plusieurs si vous utilisez plusieurs programmes de démarrage, comme Norton Recovery Bin, qui ont leurs propres répertoires.

1 votes

@Synetech, Comment pouvons-nous savoir si c'est $Recycle.bin , Recycled ou Recycler ? Existe-t-il une variable pour faire cela, ou la seule façon de le faire est de capturer les exceptions ?

4 votes

Note : Si vous utilisez cette fonction dans un script, vous voudrez également passer dans un fichier /q donc rd ne vous donne pas d'incitation 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 bel état avant et après. (J'utilise les différents utilitaires de Frank depuis plus de dix ans )

C:\> recycle.exe /E /F
Recycle Bin: ALL
    Recycle Bin C:  44 items, 42,613,970 bytes.
    Recycle Bin D:   0 items, 0 bytes.
            Total:  44 items, 42,613,970 bytes.

Emptying Recycle Bin: ALL
    Recycle Bin C:   0 items, 0 bytes.
    Recycle Bin D:   0 items, 0 bytes.
            Total:   0 items, 0 bytes.

Il a également beaucoup plus d'utilisations et d'options (la sortie listée est de / ?).

Recycle all files and folders in C:\TEMP:
  RECYCLE C:\TEMP\*

List all DOC files which were recycled from any directory on the C: drive:
  RECYCLE /L C:\*.DOC

Restore all DOC files which were recycled from any directory on the C: drive:
  RECYCLE /U C:\*.DOC

Restore C:\temp\junk.txt to C:\docs\resume.txt:
  RECYCLE /U "C:\temp\junk.txt" "C:\docs\resume.txt"

Rename in place C:\etc\config.cfg to C:\archive\config.2007.cfg:
  RECYCLE /R "C:\etc\config.cfg" "C:\archive\config.2007.cfg"

0 votes

N'y a-t-il pas là le même problème que celui mentionné par Synetech ? stackoverflow.com/questions/9238953/

1 votes

@Pacerier Je n'affiche pas la corbeille sur mon bureau, je n'ai donc jamais remarqué auparavant si l'icône se mettait à jour ou non. Après l'avoir testé, l'icône est mis à jour correctement après avoir été vidé via recycle.exe. En ce qui concerne les répertoires, je suppose qu'il utilise une API Win32 pour vider la corbeille. Cela dit, j'utilise cet utilitaire depuis de nombreuses années sous Windows, notamment 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 fait tourner ces OS très longtemps, donc je ne peux pas en être sûr )

1 votes

Oui, ce n'est pas un outil particulièrement utile, d'autant plus qu'il existe déjà des moyens intégrés 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'en avais besoin quand j'en avais beaucoup dans ma corbeille et que les clics de Windows pour vider la corbeille ne fonctionnaient pas, merci.

0 votes

@shareef Merci pour le commentaire :)

14voto

trythis Points 111

Vous pouvez utiliser un script powershell script (cela fonctionne également pour les utilisateurs avec une redirection de dossier afin que leurs corbeilles ne prennent pas l'espace de stockage du serveur).

$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 la Clear-RecycleBin commandlet .

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

Effacer la corbeille est utile dans PowerShell sous Windows 10

0 votes

Clear-RecycleBin J'ai réussi à supprimer certains noms de dossiers mal formés dans la corbeille que je ne pouvais pas supprimer autrement.

10voto

Mwizak Points 1543

Vous pouvez utiliser cette commande PowerShell.

Clear-RecycleBin -Force

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

0 votes

Commande très pratique, merci

2 votes

Fonctionne, le donne l'erreur : Clear-RecycleBin : The system cannot find the path specified At line:1 char:1 + Clear-RecycleBin -Force + ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (RecycleBin:String) [Clear-RecycleBin], Win32Exception + FullyQualifiedErrorId : FailedToClearRecycleBin,Microsoft.PowerShell.Commands.ClearR‌​ecycleBinCommand

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