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.

2voto

Zazman Points 51

Oui, vous pouvez créer un fichier Batch avec le code suivant :

cd \Desktop

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

REM Les lignes réellement écrites sont correctes, sauf pour la dernière, les choses réellement écrites sont "$RecBin.Items() | %{Remove-Item $_.Path -Recurse -Confirm:$false}"   
Mais comme | et % mettent le bazar, j'ai dû apporter quelques modifications.

Powershell.exe -executionpolicy remotesigned -File  C:\Desktop\FILENAME.ps1

Cela crée essentiellement un script PowerShell qui vide la corbeille dans le répertoire \Desktop, puis l'exécute.

2voto

Nathan Weiler Points 29

J'utilise le script python EmptyRecycleBin.py

Vous devrez pip install winshell

#!python3

# Vider la Corbeille de Windows

import winshell

try:
    winshell.recycle_bin().empty(confirm=False, show_progress=True, sound=False)
    print("Corbeille vidée")

except:
    print('La Corbeille est déjà vide')

Vous pouvez modifier les énoncés Boolean False et True pour allumer ou éteindre les éléments suivants :Fenêtre de confirmation oui/non, barre de progression, effet sonore.

Si vous n'utilisez pas python, cette commande en une ligne pour powershell est géniale.

Je l'ai en fait dans EmptyRecycleBin.ps1, et l'utilise dans Git Bash.

Clear-RecycleBin -Force

1voto

alexsupra Points 21

Créez un fichier cmd avec la ligne :

pour %%p dans (C D E F G H I J K L M N O P Q R S T U V W X Y Z) faire si exist "%%p:\$Recycle.Bin" rundll32.exe advpack.dll,DelNodeRunDLL32 "%%p:\$Recycle.Bin"

0 votes

Win 10 n'a pas de $Recycle.Bin à la racine du lecteur

0 votes

Je viens de vérifier Windows 10 Pro build 2004 et ça fonctionne. Peut-être devriez-vous activer l'option d'affichage des fichiers et dossiers cachés/système dans votre gestionnaire de fichiers.

0 votes

Aha! Trouvé : la commande fonctionne toujours, mais le fichier n'était pas visible dans l'explorateur; j'avais déjà sélectionné Afficher les fichiers cachés, et il n'était pas visible dans le lecteur C:. Il devient visible lorsque je décoche Masquer les fichiers du système d'exploitation protégés (option séparée). Santé.

0voto

Your Sister Points 1

Toutes les réponses sont beaucoup trop compliquées. L'OP a demandé un moyen de le faire à partir de CMD.

Voici comment faire (à partir d'un fichier cmd) :

powershell.exe /c "$(New-Object -ComObject Shell.Application).NameSpace(0xA).Items() | %%{Remove-Item $_.Path -Recurse -Confirm:$false"

Et oui, cela se mettra à jour dans l'explorateur.

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