53 votes

Quelle est la méthode en ligne de commande pour envoyer des fichiers à la corbeille ?

Existe-t-il un programme en ligne de commande permettant d'envoyer des fichiers à la corbeille ? Ceci est valable pour XP et Vista.

4voto

Adam Crume Points 7444

Je me pose cette question depuis longtemps - j'ai finalement pris les choses en main et j'ai mis en place mon propre service public. cmd-recyclage

J'ai jeté un coup d'œil sur Recycle.exe dans CmdUtils. Le problème est qu'il fait apparaître la traditionnelle boîte de dialogue "Are you sure" lorsque vous recyclez (qui peut être supprimée en ajoutant l'argument -f). Mon programme se contente de le faire (puisqu'il est toujours possible d'annuler), ce qui me semble plus adapté à l'écriture de scripts.

4voto

TroyK Points 86

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

::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, c'est que si vous déplacez 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 stocke des informations à son sujet 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.

Plus d'informations ici : https://dereknewton.com/2010/06/recycle-bin-forensics-in-Windows-7-and-vista/

2voto

akiwi Points 21

J'ai essayé plusieurs programmes pour déplacer un ou plusieurs fichiers vers la corbeille, mais ils ne m'ont pas donné satisfaction pour diverses raisons.

Le principal problème de la plupart d'entre eux est l'absence de messages d'état ou d'erreur décents. Certains échouent silencieusement, ce qui vous fait penser que le programme a recyclé quelque chose, mais en fait il n'a rien fait du tout !

Pour y remédier, j'ai écrit un utilitaire en ligne de commande appelé bin-it qui déplace le(s) fichier(s) spécifié(s) dans la corbeille de Windows. Il prend en charge les caractères génériques et fournit des rapports d'état et d'erreur complets. Si quelque chose ne va pas, vous le saurez !

Il est entièrement gratuit et peut être téléchargé ici sous le nom de binit.zip :
http://www.akiwi.co.uk/utilities.html

1voto

npocmaka Points 1141

Sans programmes externes - deleteJS.bat . Il utilise Shell.Application invoquer la méthode du verbe. L'utilisation est simple :

call deleteJS.bat c:\someFile.txt
call deleteJS.bat d:\someFolder

1voto

programmer365 Points 1

Vous pouvez utiliser cette fonction VBScript :

Function RecycleFile(strFilePath)
  Dim objShell,objFolder,strFolder,strFile,arrTabs,strTab,intCount
  intCount = 0
  Set objShell = CreateObject("Shell.Application")
  arrTabs = Split(strFilePath,"\")
  strFile = arrTabs(UBound(arrTabs))
  For Each strTab in arrTabs
    If intCount = UBound(arrTabs) Then Exit For
    strFolder = strFolder & strTab & "\"
    intCount = intCount + 1
  Next
  Set objFolder = objShell.Namespace(strFolder)
  objFolder.ParseName(strFile).InvokeVerb("delete")
End Function

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X