Wie kann ich das verschieben von Dateien in den Papierkorb in einem Windows-batch-script oder Perl?
Ich habe eine Windows XP batch-Skript, welches reinigt einige Verzeichnisse, aber ich möchte zu bewegen die gelöschten Dateien in den Papierkorb, statt mit klarem del
. Wie wird das gemacht?
Sieht es so aus das nur die Sprachen, die ich verwenden können, ist dies schlicht batch-oder Perl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schreiben ein VBS-Skript ( Original-Link ), dann rufen Sie es mit MyDelScript.vbs
Den Win32::FileOp Modul hat eine
Recycle
Funktion. Aus den docs:Können Sie mit der "Papierkorb" - Dienstprogramm, das Teil von CmdUtils von MaDdoG Software. Von der Seite mit einer Liste -
Ich würde vorschlagen, Sie versuchen Sie die verschiedenen Schalter, bevor Sie integrieren ihn in Ihre Skript - es ist ein bisschen von einer Abweichung vom Standard-Verhalten der "del" - Befehl.
UPDATE: Entgegen meiner ursprünglichen Behauptung, dass der folgende code nicht funktioniert, es tatsächlich zu funktionieren scheint. Ich vergaß lediglich, dass die Datei wollte ich löschen, war nicht in
$ENV{TEMP}
aber ein Unterverzeichnis von$ENV{TEMP}
. Das problem ist, die Datei nicht in den Papierkorb.Die richtige Lösung ist die Verwendung Win32::FileOp, aber ich werde lassen Sie dieses Skript hier als ein Beispiel für die Verwendung Win32::API und Win32::API::Struct. Ich würde es schätzen, wenn jemand zeigen kann, was ich falsch mache. Für Ihre Referenz:
SHFileOperation
: http://msdn.microsoft.com/en-us/library/bb762164(VS.85).aspxLPSHFILEOPSTRUCT
: http://msdn.microsoft.com/en-us/library/bb759795(VS.85).aspx