Quel est le moyen de ligne de commande pour envoyer des fichiers à la corbeille?

41

Existe-t-il un programme en ligne de commande pouvant envoyer des fichiers dans la corbeille? C'est sur XP et Vista.

juste à temps
la source
2
Autre que 'del'?
pelms
2
Quel système d'exploitation utilisez-vous?
ChrisF
sorti pour ajouter XP et Vista
justintime
11
@pelms delle supprime définitivement, ne le déplace pas dans la corbeille.
MiffTheFox
2
Ensuite, vous devez penser qu’il n’ya aucune raison d’avoir le bac. Par votre logique, pourquoi recycler des fichiers à partir d’Explorateur au lieu de les supprimer définitivement? Vous n'avez peut-être pas vu une utilisation, mais elles existent. Récemment, je voulais supprimer une pile de fichiers de nombreux dossiers, mais je voulais les revérifier avant de les effacer. La seule façon / la plus simple de le faire était de lancer une forboucle à partir de l'invite de commande pour les envoyer à la corbeille. Je pouvais ensuite les voir tous consolidés au même endroit, afin de m'assurer que seuls les fichiers que je voulais supprimer étaient présents. restaurer des fichiers incorrects.
Synetech

Réponses:

31

CmdUtils a un utilitaire appelé Recyclequi fait exactement cela. [ téléchargement direct ]

Plus d'infos :

Pour utiliser la commande recycle, téléchargez le fichier zip CmdUtils et décompressez le fichier .exe dans votre dossier Windows. Leur ajout au dossier Windows vous permettrait d'accéder à la commande de manière globale sans que vous ayez à spécifier le chemin d'accès complet à l'exécutable. Vous pouvez ensuite commencer à utiliser la commande recycle en tapant;

recycle filename.txt

Vous pouvez également spécifier des caractères génériques à l'aide des commandes pour que taper recycle * .txt recycle tous les fichiers texte du répertoire actuel. Il existe également une option pour supprimer la boîte de dialogue de confirmation de suppression en utilisant l'indicateur de force avec la commande.

Pour supprimer un fichier sans avoir à confirmer, utilisez la commande

recycle –f filename.txt

L’indicateur –f indique à la commande de forcer le recyclage sans afficher la boîte de dialogue de confirmation.

marque
la source
19

Si vous avez installé PowerShell:

$sh = new-object -comobject "Shell.Application"
$ns = $sh.Namespace(0).ParseName("PATH\TO\FILE\TO\DELETE")
$ns.InvokeVerb("delete")
EBGreen
la source
2
+1 Toute solution PowerShell obtiendra mon vote. J'espère que le prochain Windows remplacera cmd.exe par PowerShell.
BinaryMisfit
2
Je doute que cela se produise pendant très longtemps. :)
EBGreen
1
C'est beaucoup trop lent, surtout si vous recyclez beaucoup de fichiers (par exemple, la contrepartie de PS for /r %i in (foobar.tmp) do recycle "%i").
Synetech
1
@BinaryMisfit enfin que cela se passe avec Windows 10
phuclv
5

Il n'y a pas de moyen intégré de faire cela, mais il existe des outils tiers qui peuvent le faire. J'ai vérifié mon dossier de vidage de programme et trouvé quelques options. Ils fonctionnent tous de la même manière (par exemple, recycle filename.ext), mais leur performance varie, cela dépend donc de vos besoins (par exemple, recyclez-vous beaucoup de fichiers?)

  • Logiciel de maddog Recycler est rapide et n'a pas de sortie, mais peut lancer une mystérieuse erreur non trouvée
  • DeleteXP d’ EasyTools est lent car il affiche la progression sur la console, mais si vous le redirigez vers nul, c’est le plus rapide et le plus fiable.
  • Le cmd-recycle de Chris Yuen est le plus lent, même en redirigeant la sortie (mal formatée) versnul
Synetech
la source
4

J'ai cette question depuis longtemps - j'ai finalement pris les choses en main et j'ai roulé mon propre utilitaire cmd-recycle

J'ai jeté un coup d'oeil Recycle.exedans CmdUtils. Le problème, c’est que la boîte de dialogue traditionnelle «Êtes-vous sûr» apparaît-elle lorsque vous recyclez (ce qui peut être supprimé en ajoutant l’argument -f). Mon programme le fait tout simplement (car vous pouvez toujours annuler), ce qui, à mon avis, convient mieux aux scripts.

kizzx2
la source
Je viens de l'exécuter sur Windows Server 2008R2 et cela ne fonctionne pas.
dthree
Ne fonctionne pas sur Windows 7 non plus. Je viens juste d’obtenir une erreur "L’application n’a pas pu être démarrée ..." et si je clique pour obtenir plus d’informations, je suis redirigé vers microsoft.com: "Erreurs d’initialisation du .NET Framework: gestion de l’expérience utilisateur" .
ashleedawg le
4

Peut utiliser un utilitaire externe:

nircmd moverecyclebin * .tmp

Yura Shinkarev
la source
1

J'ai essayé divers programmes pour transférer un fichier dans la corbeille, mais je n’étais pas satisfait de ces programmes pour différentes raisons.

Le principal problème rencontré le plus souvent est le manque de statut décent ou de messages d'erreur. Certains échouent simplement en silence, alors vous pensez que le programme a recyclé quelque chose, mais en réalité il n'a rien fait du tout!

Pour remédier à cela, j'ai écrit un utilitaire de ligne de commande appelé bin-it qui déplace le ou les fichiers spécifiés vers la corbeille Windows. Il prend en charge les caractères génériques et fournit un rapport complet sur l'état et les erreurs. Si quelque chose ne va pas, vous le saurez!

C'est totalement gratuit et peut être téléchargé ici en tant que binit.zip:
http://www.akiwi.co.uk/utilities.html

akiwi
la source
Je vous recommande de changer le nom. «Bin It» me fait penser à quelque chose comme une conversion ASCII-> binaire.
can-ned_food
1

Sans utiliser d'outils tiers, je ne crois pas qu'il existe un "moyen d'envoyer des fichiers dans la corbeille en ligne de commande". Vous pouvez obtenir le chemin complet de la corbeille sur un système Windows 7-10 comme ceci:

::get current user sid
for /f "tokens=2" %%i in ('whoami /user /NH') do set UID=%%i
:: create full path to current user recycle bin in a variable
set recyclebin=%systemdrive%\$Recycle.Bin\%UID%

echo %recyclebin%

Le problème est que si vous déplacez simplement un fichier, il n'apparaît pas dans la corbeille. Vous ne pourrez le voir que dans une invite de commande. La corbeille est un dossier spécial. La méthode de l’API Windows pour déplacer des éléments vers la corbeille renomme le fichier et enregistre les informations le concernant dans un ou plusieurs fichiers d’information propriétaires, en fonction de la version du système d’exploitation. Les outils tiers suggérés dans les réponses ci-dessus invoquent ces méthodes API qui gèrent tout cela pour vous.

Quelques informations supplémentaires ici: https://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-vista/

TroyK
la source
Bienvenue sur Super User. Votre réponse semble expliquer comment créer le chemin d'accès à la corbeille de l'utilisateur actuellement connecté, mais elle ne semble pas expliquer comment utiliser ces informations pour envoyer des fichiers à la corbeille, comme demandé par l'OP. Veuillez modifier votre message pour inclure cette dernière partie. Merci pour votre contribution.
Je dis: réintégrez Monica le
Cela contient presque toutes les informations dont vous auriez besoin pour écrire les vôtres, à moins de vous en présenter un, à l'exception des données INFO2 et $ I que vous devez manipuler.
can-ned_food
Faites-moi savoir quand la réponse inclut un script cmd.exe ou wsh.exe qui le fait, et ensuite je voterai! :-) Bien, je suppose que wsh n'est pas techniquement applicable à la question, mais la question est plutôt vague.
Can-ned_food
1

Sans programmes externes - deleteJS.bat. Il utilise la Shell.Applicationméthode invoke verb. l'utilisation est simple:

call deleteJS.bat c:\someFile.txt
call deleteJS.bat d:\someFolder
npocmaka
la source
0

Vous pouvez essayer RecycleIt . Il enverra des fichiers à la corbeille Windows via la ligne de commande.

Exemple d'utilisation:

recycleIt.exe C:\temp\example.txt /quit

REMARQUE: Vous devez ajouter le "/ quit" ou une fenêtre qui reste ouverte apparaîtra. Cela pourrait être problématique pour les sessions de console sans tête.

Michael Weiner
la source