¿Cuál es la forma en la línea de comando de enviar archivos a la papelera de reciclaje?

41

¿Existe un programa de línea de comandos que pueda enviar archivos a la papelera de reciclaje? Esto está en XP y Vista.

justo a tiempo
fuente
2
¿Aparte de 'del'?
pelms
2
¿Qué sistema operativo estás usando?
ChrisF
salió para agregar XP y Vista
justintime
11
@pelms lo delelimina permanentemente, no lo mueve a la papelera de reciclaje.
MiffTheFox
2
Entonces debes pensar que no hay ninguna razón para tener el Bin en absoluto. Según su lógica, ¿por qué reciclar archivos de Explorer en lugar de simplemente eliminarlos permanentemente? Puede que no hayas visto un uso, pero existen. Recientemente, quería eliminar una pila de archivos de numerosas carpetas, pero quería volver a verificarlos antes de eliminarlos. La única / más fácil forma de hacerlo fue ejecutar un forbucle desde el símbolo del sistema para enviarlos al contenedor, luego pude verlos todos consolidados en un solo lugar para asegurarme de que solo los archivos que quería eliminar estaban allí y restaurar cualquier archivo incorrecto
Synetech

Respuestas:

31

CmdUtils tiene una utilidad llamada Recycleque hace exactamente eso. [ descarga directa ]

Más información :

Para usar el comando de reciclaje, descargue el archivo zip CmdUtils y descomprima el archivo exe en su carpeta de Windows. Agregarlos a la carpeta de Windows le permitiría acceder al comando globalmente sin tener que especificar la ruta completa al ejecutable. Luego puede comenzar a usar el comando de reciclaje escribiendo;

recycle filename.txt

También puede especificar comodines con los comandos para escribir reciclar * .txt reciclará cualquier archivo de texto en el directorio actual. También hay una opción para suprimir el diálogo de confirmación de eliminación mediante el uso del indicador de fuerza con el comando.

Para eliminar un archivo sin tener que confirmar es usar el comando

recycle –f filename.txt

La bandera –f le indicará al comando que fuerce un reciclaje sin mostrarle el diálogo de confirmación.

marca
fuente
19

Si tiene instalado PowerShell:

$sh = new-object -comobject "Shell.Application"
$ns = $sh.Namespace(0).ParseName("PATH\TO\FILE\TO\DELETE")
$ns.InvokeVerb("delete")
EBGreen
fuente
2
+1 Cualquier solución de PowerShell obtendrá mi voto. Espero que el próximo Windows reemplace cmd.exe con PowerShell.
BinaryMisfit
2
Dudo que eso suceda por mucho tiempo. :)
EBGreen
1
Eso es demasiado lento, especialmente si recicla muchos archivos (por ejemplo, la contraparte de PS for /r %i in (foobar.tmp) do recycle "%i").
Synetech
1
@BinaryMisfit finalmente sucede con Windows 10
phuclv
5

No hay una forma integrada de hacerlo, pero hay herramientas de terceros que pueden hacerlo. Revisé mi carpeta de volcado de programa y encontré algunas opciones. Todos funcionan igual (p. Ej. recycle filename.ext), Pero varían en rendimiento, por lo que depende de cuáles sean sus necesidades (p. Ej., ¿Está reciclando muchos archivos?)

  • El reciclaje de MaDdoG Software es rápido y no tiene salida, pero puede arrojar un misterioso error no encontrado
  • DeleteXP de EasyTools es lento porque muestra el progreso a la consola, pero si lo redirige nul, entonces es el más rápido y confiable
  • El cmd-recycle de Chris Yuen es más lento, incluso cuando se redirige la salida (mal formateada) anul
Synetech
fuente
4

He tenido esta pregunta durante mucho tiempo: finalmente tomé el asunto en mis propias manos y rodé mi propia utilidad cmd-recycle

Recycle.exeEché un vistazo a CmdUtils. Lo importante es que abre el cuadro de diálogo tradicional "¿Está seguro?" Cuando recicla (que puede eliminarse agregando el argumento -f). Mi programa simplemente lo hace (ya que siempre puedes deshacer), lo que creo que es más adecuado para fines de secuencias de comandos.

kizzx2
fuente
Lo acabo de ejecutar en Windows Server 2008R2 y no funciona.
Dthree
Tampoco funciona en Windows 7. Acabo de recibir un error "No se pudo iniciar la aplicación ..." y si hago clic para obtener más información, me dirijo a microsoft.com: "Errores de inicialización de .NET Framework: gestión de la experiencia del usuario" .
ashleedawg
4

Puede usar la utilidad externa:

nircmd moverecyclebin * .tmp

Yura Shinkarev
fuente
1

Intenté varios programas para mover un archivo (s) a la papelera de reciclaje, pero no estaba satisfecho con ellos por varias razones.

El principal problema que la mayoría tiene es la falta de estado decente o mensajes de error. Algunos simplemente fallan en silencio, por lo que piensas que el programa recicló algo, ¡pero de hecho no hizo nada en absoluto!

Para remediar esto, he escrito una utilidad de línea de comandos llamada bin-it que mueve los archivos especificados a la papelera de reciclaje de Windows. Admite comodines y proporciona informes completos de estado y errores. Si algo sale mal, ¡lo sabrás!

Es completamente gratuito y se puede descargar desde aquí como binit.zip:
http://www.akiwi.co.uk/utilities.html

akiwi
fuente
Te recomiendo que cambies el nombre. "Bin It" me hace pensar en algo así como una conversión binaria ASCII->.
can-ned_food
1

Sin usar herramientas de terceros, no creo que haya una "forma de línea de comando para enviar archivos a la papelera de reciclaje". Puede obtener la ruta completa para la papelera de reciclaje en un sistema Windows 7-10 como este:

::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%

El problema es que si solo mueve un archivo allí, no aparece en la papelera de reciclaje. Solo podrá verlo en el símbolo del sistema. La papelera de reciclaje es una carpeta especial. El método API de Windows para mover elementos a la papelera de reciclaje cambia el nombre del archivo y almacena información sobre él en un archivo o archivos de información patentados, dependiendo de la versión del sistema operativo. Las herramientas de terceros sugeridas en las respuestas anteriores invocan estos métodos API que manejan todo eso por usted.

Más información aquí: https://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-vista/

TroyK
fuente
Bienvenido a Super User. Su respuesta parece explicar cómo construir la ruta a la Papelera de reciclaje del usuario actualmente conectado, pero no parece explicar cómo usar esta información para enviar archivos a la papelera de reciclaje según lo solicitado por el OP. Edite su publicación para incluir esta última parte. Gracias por contribuir
Digo reinstalar a Mónica el
Esto tiene casi toda la información que necesitarías para escribir la tuya, a excepción de presentarte una, excepto mencionar los datos INFO2 y $ I que necesitarías manipular.
can-ned_food
Avíseme cuando la respuesta incluya un script cmd.exe o wsh.exe que lo haga, ¡y luego votaré! :-) Bueno, supongo que wsh no es técnicamente aplicable a la pregunta, pero la pregunta es bastante vaga.
can-ned_food
1

Sin programas externos deleteJS.bat. Utiliza el Shell.Applicationmétodo de invocación de verbos. el uso es simple:

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

Puedes probar RecycleIt . Enviará archivos a la Papelera de reciclaje de Windows a través de la línea de comandos.

EJEMPLO DE USO:

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

NOTA: debe agregar "/ quit" o aparecerá una ventana que permanecerá abierta. Esto podría ser problemático para las sesiones de consola sin cabeza.

Michael Weiner
fuente