Qual è il modo da riga di comando di inviare file al cestino?


41

Esiste un programma da riga di comando che può inviare file al cestino? Questo è su XP e Vista.


2
Altro che 'del'?
pelms

2
Quale sistema operativo stai usando?
ChrisF,

uscito per aggiungere XP e Vista
justintime il

11
@pelms dello elimina definitivamente, non lo sposta nel cestino.
MiffTheFox,

2
Quindi devi pensare che non c'è motivo di avere il Cestino. Secondo la tua logica, perché riciclare i file da Explorer invece di eliminarli definitivamente? Potresti non aver visto un uso, ma esistono. Proprio di recente, volevo eliminare una pila di file da numerose cartelle, ma volevo ricontrollarli prima di cancellarli. L'unico / il modo più semplice per farlo era eseguire un forciclo dal prompt dei comandi per inviarli al cestino, quindi ho potuto vederli tutti consolidati in un unico posto per assicurarsi che fossero presenti solo i file che volevo eliminare e ripristinare eventuali file errati.
Synetech,

Risposte:


31

CmdUtils ha un'utilità chiamata Recycleche fa esattamente questo. [ download diretto ]

Altre info :

Per usare il comando recycle scarica il file zip CmdUtils e decomprimi l'exe nella cartella Windows. Aggiungendoli alla cartella Windows si consentirebbe di accedere al comando a livello globale senza che sia necessario specificare l'intero percorso dell'eseguibile. È quindi possibile iniziare a utilizzare il comando recycle digitando;

recycle filename.txt

Puoi anche specificare caratteri jolly con i comandi, quindi digitando recycle * .txt ricicli tutti i file di testo nella directory corrente. C'è anche un'opzione per sopprimere la finestra di dialogo di conferma dell'eliminazione usando il flag force con il comando.

Per eliminare un file senza confermare è necessario utilizzare il comando

recycle –f filename.txt

Il flag –f indica al comando di forzare un riciclo senza mostrare la finestra di dialogo di conferma.


19

Se hai installato PowerShell:

$sh = new-object -comobject "Shell.Application"
$ns = $sh.Namespace(0).ParseName("PATH\TO\FILE\TO\DELETE")
$ns.InvokeVerb("delete")

2
+1 Qualsiasi soluzione PowerShell otterrà il mio voto. Spero che il prossimo Windows sostituisca cmd.exe con PowerShell.
BinaryMisfit,

2
Dubito che accadrà per molto tempo. :)
EBGreen

1
È troppo lento, specialmente se si riciclano molti file (ad esempio, la controparte PS in for /r %i in (foobar.tmp) do recycle "%i").
Synetech,

1
@BinaryMisfit finalmente succede con Windows 10
phuclv il

5

Non esiste un modo integrato per farlo, ma ci sono strumenti di terze parti che possono farlo. Ho controllato la mia cartella di dump del programma e ho trovato alcune opzioni. Funzionano tutti allo stesso modo (ad es. recycle filename.ext), Ma variano in termini di prestazioni, quindi dipende dalle tue esigenze (ad esempio, stai riciclando molti file?)

  • Il riciclo del software MaDdoG è veloce e non ha output, ma può generare un misterioso errore non trovato
  • DeleteXP di EasyTools è lento perché mostra l'avanzamento alla console, ma se lo reindirizzi a nul, allora è il più veloce e affidabile
  • Il riciclo cmd di Chris Yuen è più lento, anche quando si reindirizza l'output (mal formattato) anul

4

Ho avuto questa domanda per molto tempo - ho finalmente preso in mano le cose e ho arrotolato la mia utility cmd-recycle

Ho dato un'occhiata a Recycle.exeCmdUtils. Il fatto è che si apre la tradizionale finestra di dialogo "Sei sicuro" quando si ricicla (che può essere rimosso aggiungendo l'argomento -f). Il mio programma lo fa (dal momento che puoi sempre annullare) che penso sia più adatto a scopi di scripting.


L'ho appena eseguito su Windows Server 2008R2 e non funziona.
tre

Non funziona neanche su Windows 7. Viene visualizzato l'errore "Impossibile avviare l'applicazione ..." e se faccio clic per ulteriori informazioni, vengo indirizzato a microsoft.com: "Errori di inizializzazione di NET Framework: gestione dell'esperienza utente" .
ashleedawg,


1

Ho provato vari programmi per spostare un file nel cestino, ma per vari motivi non sono stato soddisfatto.

Il problema principale che la maggior parte ha è la mancanza di messaggi di errore o di stato decenti. Alcuni falliscono silenziosamente, quindi pensi che il programma abbia riciclato qualcosa, ma in realtà non ha fatto nulla!

Per rimediare, ho scritto un'utilità della riga di comando chiamata bin-it che sposta i file specificati nel cestino di Windows. Supporta caratteri jolly e fornisce informazioni complete sullo stato e sugli errori. Se qualcosa va storto, lo saprai!

È completamente gratuito e può essere scaricato da qui come binit.zip:
http://www.akiwi.co.uk/utilities.html


Ti consiglio di cambiare il nome. "Bin It" mi fa pensare a qualcosa come una conversione binaria ASCII->.
can-ned_food,

1

Senza l'uso di strumenti di terze parti non credo che esista un "modo da riga di comando per inviare file al cestino". Puoi ottenere il percorso completo per il cestino su un sistema Windows 7-10 in questo modo:

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

Il problema è che se si sposta semplicemente un file lì dentro non appare nel cestino. Sarai in grado di vederlo solo in un prompt dei comandi. Il cestino è una cartella speciale. Il metodo API di Windows per spostare gli elementi nel cestino rinomina il file e memorizza le informazioni su di esso in un file di informazioni proprietario o file a seconda della versione del sistema operativo. Gli strumenti di terze parti suggeriti nelle risposte sopra invocano questi metodi API che gestiscono tutto ciò per te.

Altre informazioni qui: https://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-vista/


Benvenuto in Super User. La tua risposta sembra spiegare come costruire il percorso del Cestino dell'utente attualmente connesso, ma non sembra spiegare come utilizzare queste informazioni per inviare file al Cestino come richiesto dall'OP. Modifica il tuo post per includere quest'ultima parte. Grazie per aver contribuito.
Dico Reintegrare Monica il

Questo ha quasi tutte le informazioni di cui avresti bisogno per scrivere le tue, a meno di non presentartene effettivamente una, tranne menzionare i dati INFO2 e $ I che dovresti manipolare.
can-ned_food,

Fammi sapere quando la risposta include uno script cmd.exe o wsh.exe che lo fa, e quindi voterò! :-) Beh, immagino che wsh non sia tecnicamente applicabile alla domanda, ma la domanda è piuttosto vaga.
can-ned_food,

1

Senza programmi esterni - deleteJS.bat. Usa il Shell.Applicationmetodo del verbo invoke. l'utilizzo è semplice:

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

0

Puoi provare RecycleIt . Invierà i file nel Cestino di Windows tramite la riga di comando.

ESEMPIO DI UTILIZZO:

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

NOTA: è necessario aggiungere "/ quit" per aprire una finestra che rimane aperta. Questo potrebbe essere problematico per le sessioni della console senza testa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.