Was ist die Befehlszeilenmethode zum Senden von Dateien in den Papierkorb?


41

Gibt es ein Befehlszeilenprogramm, das Dateien in den Papierkorb senden kann? Dies ist auf XP und Vista.


2
Anders als "del"?
Pelms

2
Welches Betriebssystem verwenden Sie?
ChrisF


11
@pelms dellöscht es dauerhaft und verschiebt es nicht in den Papierkorb.
MiffTheFox

2
Dann müssen Sie denken, dass es keinen Grund gibt, den Behälter überhaupt zu haben. Warum sollten Sie nach Ihrer Logik Dateien aus dem Explorer wiederherstellen, anstatt sie dauerhaft zu löschen? Möglicherweise haben Sie noch keine Verwendung gesehen, aber sie existieren. Erst kürzlich wollte ich einen Stapel von Dateien aus zahlreichen Ordnern löschen, sie aber noch einmal überprüfen, bevor ich sie lösche. Der einzige / einfachste Weg, dies zu tun, war, eine forSchleife von der Eingabeaufforderung aus zu starten , um sie in den Papierkorb zu senden. Dann konnte ich sie alle an einem Ort konsolidieren, um sicherzustellen, dass nur die Dateien, die ich löschen wollte, dort und dort waren stellen Sie alle falschen Dateien wieder her.
Synetech

Antworten:


31

CmdUtils hat ein Dienstprogramm namens Recycle, das genau das tut. [ direkter Download ]

Weitere Infos :

Um den Befehl recycle zu verwenden, laden Sie die ZIP-Datei CmdUtils herunter und entpacken Sie die EXE-Datei in Ihren Windows-Ordner. Wenn Sie sie zum Windows-Ordner hinzufügen, können Sie global auf den Befehl zugreifen, ohne den gesamten Pfad zur ausführbaren Datei angeben zu müssen. Sie können dann den Befehl recycle verwenden, indem Sie Folgendes eingeben.

recycle filename.txt

Sie können mit den Befehlen auch Platzhalter angeben, sodass bei Eingabe von recycle * .txt alle Textdateien im aktuellen Verzeichnis wiederhergestellt werden. Es besteht auch die Möglichkeit, den Löschbestätigungsdialog zu unterdrücken, indem das Force-Flag mit dem Befehl verwendet wird.

Um eine Datei ohne Bestätigung zu löschen, verwenden Sie den Befehl

recycle –f filename.txt

Das Flag –f weist den Befehl an, ein Recycling zu erzwingen, ohne dass das Bestätigungsdialogfeld angezeigt wird.


19

Wenn Sie Powershell installiert haben:

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

2
+1 Jede Powershell-Lösung erhält meine Stimme. Ich hoffe, das nächste Windows ersetzt cmd.exe durch PowerShell.
BinaryMisfit

2
Ich bezweifle, dass das noch sehr lange dauern wird. :)
EBGreen

1
Das ist viel zu langsam, vor allem wenn viele Dateien (zB das PS-Gegenstück dazu for /r %i in (foobar.tmp) do recycle "%i") recycelt werden .
Synetech

1
@BinaryMisfit endlich passiert das mit Windows 10
phuclv

4

Ich hatte diese Frage schon lange - ich nahm die Angelegenheit endlich selbst in die Hand und rollte mein eigenes Dienstprogramm cmd-recycle

Ich habe mir Recycle.exeCmdUtils angeschaut. Das Problem ist, dass beim Wiederverwenden das herkömmliche Dialogfeld "Sind Sie sicher" angezeigt wird (das durch Hinzufügen des Arguments -f entfernt werden kann). Mein Programm macht es einfach (da Sie es immer rückgängig machen können), was meiner Meinung nach für Skripterstellungszwecke besser geeignet ist.


Ich habe es gerade auf Windows Server 2008R2 ausgeführt und es funktioniert nicht.
Donnerstag,

Funktioniert auch nicht unter Windows 7. Ich erhalte nur die Fehlermeldung "Die Anwendung konnte nicht gestartet werden ..." und wenn ich auf "Weitere Informationen" klicke, gehe ich zu microsoft.com: ".NET Framework-Initialisierungsfehler: Verwalten der Benutzererfahrung" .
Ashleedawg

4

Es gibt keine eingebaute Möglichkeit, dies zu tun, aber es gibt Tools von Drittanbietern, die dies können. Ich habe meinen Programm-Dump-Ordner überprüft und ein paar Optionen gefunden. Sie funktionieren alle gleich (z. B. recycle filename.ext), unterscheiden sich jedoch in der Leistung. Dies hängt also von Ihren Anforderungen ab (z. B. recyceln Sie viele Dateien?).

  • Das Recycling von MaDdoG Software ist schnell und hat keine Ausgabe, kann jedoch einen mysteriösen, nicht gefundenen Fehler auslösen
  • DeleteXP von EasyTools ist langsam, da es den Fortschritt der Konsole anzeigt. Wenn Sie es jedoch umleiten nul, ist es das schnellste und zuverlässigste
  • Chris Yuens cmd-Recycling ist am langsamsten, selbst wenn die (schlecht formatierte) Ausgabe auf umgeleitet wirdnul


1

Ich habe verschiedene Programme zum Verschieben von Dateien in den Papierkorb ausprobiert, war jedoch aus verschiedenen Gründen damit nicht zufrieden.

Das Hauptproblem, das die meisten haben, ist das Fehlen anständiger Status- oder Fehlermeldungen. Einige scheitern einfach stillschweigend, sodass Sie glauben, dass das Programm etwas recycelt hat, aber tatsächlich überhaupt nichts getan hat!

Um dies zu beheben, habe ich ein Befehlszeilenprogramm namens bin-it geschrieben, das die angegebenen Dateien in den Windows-Papierkorb verschiebt. Es unterstützt Platzhalter und bietet vollständige Status- und Fehlerberichte. Wenn etwas schief geht, wissen Sie Bescheid!

Es ist völlig kostenlos und kann hier als binit.zip heruntergeladen werden:
http://www.akiwi.de/utilities.html


Ich empfehle Ihnen, den Namen zu ändern. "Bin It" lässt mich an so etwas wie eine ASCII-> Binärkonvertierung denken.
can-ned_food

1

Ohne Tools von Drittanbietern gibt es meines Erachtens keine "Befehlszeilenmethode zum Senden von Dateien in den Papierkorb". Sie können den vollständigen Pfad zum Papierkorb auf einem Windows 7-10-System wie folgt abrufen:

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

Das Problem ist, dass eine Datei, die Sie nur dort hinein verschieben, nicht im Papierkorb angezeigt wird. Sie können es nur in einer Eingabeaufforderung sehen. Der Papierkorb ist ein spezieller Ordner. Die Windows-API-Methode zum Verschieben von Elementen in den Papierkorb benennt die Datei um und speichert Informationen dazu in einer oder mehreren proprietären Infodateien, je nach Version des Betriebssystems. Die Tools von Drittanbietern, die in den obigen Antworten vorgeschlagen wurden, rufen diese API-Methoden auf, die all das für Sie erledigen.

Weitere Informationen hier: https://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-vista/


Willkommen bei Super User. Ihre Antwort scheint zu erklären, wie der Pfad zum aktuell angemeldeten Papierkorb des Benutzers erstellt wird, aber nicht, wie diese Informationen zum Senden von Dateien an den Papierkorb verwendet werden, wie vom OP angefordert. Bitte bearbeiten Sie Ihren Beitrag, um diesen letzten Teil einzuschließen. Vielen Dank für Ihren Beitrag.
Ich sage Reinstate Monica

Dies enthält fast alle Informationen, die Sie benötigen, um Ihre eigenen zu schreiben, abgesehen von den INFO2- und $ I-Daten, die Sie bearbeiten müssen.
can-ned_food

Lassen Sie mich wissen, wenn die Antwort ein cmd.exe- oder wsh.exe-Skript enthält, das dies tut, und dann stimme ich zu! :-) Nun, ich denke, wsh ist technisch nicht auf die Frage anwendbar, aber die Frage ist ziemlich vage.
can-ned_food

1

Ohne externe Programme - deleteJS.bat. Es verwendet Shell.Applicationdie Methode "Verb aufrufen". Die Benutzung ist einfach:

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

0

Sie können RecycleIt ausprobieren . Es werden Dateien über die Befehlszeile an den Windows-Papierkorb gesendet.

BEISPIEL NUTZUNG:

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

HINWEIS: Sie müssen das "/ quit" hinzufügen, sonst wird ein Fenster geöffnet, das geöffnet bleibt. Dies kann bei Headless-Konsolensitzungen problematisch sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.