Papierkorb per Batch leeren

Dave-Brombacher

Cadet 3rd Year
Registriert
Jan. 2008
Beiträge
33
Hallo

Ich möchte meinen Papierkorb mit einer Batch leeren. Dabei sollen alle Dateien gelöscht werde, also auch diese in den Unterverzeichnissen. Es sollen aber nicht nur die Dateien, sondern die Unterverzeichnisse gleich mit gelöscht werden.

Es geht um Windows XP, das heißt der Befehl deltree ist nich vorhanden.

desweiteren nutzt der befehl del oder erase nichts um die Unterverzeichnisse , deren Namen ich nicht extra eingeben möchte, von "C:\Recycler\xx\" zu löschen.

Unter XP gibt es anstatt deltree den Befehl rmdir oder rd

da ich die Namen der Unterverzeichnisse nicht angeben möchte, wäre diser Befehl möglich:

rd /s /q C:\Recycler\xx\*

dieser funktioniert nicht, es kommt die Syntaxfehler meldung.


Noch was zu xx:

Wenn man unter Ordneroptionen->Extras->Ansicht die Option "geschützte Systemdateien ausbleden" deaktiviert, sieht man innerhalb des Ordners C:\Recycler\ einen weiteren Ordner, er hat einen längeren Namen mit vielen Zahlen. Ich nehme an, das dieser bei der Windows installation zufällig generiert wird.
Dieser Ordner hat die gleichen Funktionen wie der Papierkorb selbst, d.h. Bei Rechtsklick kann man Papierkorb leeren auswählen.


Ich habe mein Problem zwar schon so gelöst, indem ich einfach diesen Odner verknüpft habe, aber es würde mich trotzdem Interessiern


Danke


Greez
Dave
 
rd /s /q C:\Recycler\xx\*.*
oder schau mal hier
Der Ordner mit den vielen Zahlen ist der Ordner des jeweiligen Benutzers.
 
Zuletzt bearbeitet:
werkam schrieb:
rd /s /q C:\Recycler\xx\*.*

"Die Syntax für den Dateinamen, Verzeichnisnamen oder Datenträgerbezeichnung ist falsch"

1668mib schrieb:
Wieso nicht einfach "rd /s /q C:\Recycler\xx" ?

Ich möchte ja nicht den Papierkorb löschen, sondern nur den Inhalt. Eine Möglichkeit wäre es natürlich, dann müsste ich danach nur den Ordner wieder selbstständig erstellen lassen. Doch hierbei besteht die Gefahr, das es kein Papierkorb mehr wird, sondern nur ein einfacher Ordner.
 
Reicht es denn nicht mit der rechten Maustasten auf den Papierkorb zu klicken und den Papierkorb löschen zu lassen? Oder möchtest Du ihn beim runterfahren automatisch löschen lassen? Dann stell den Papierkorb doch ab, dann bleibt der immer leer.
"Start, Ausführen" den folgenden Befehl eingeben:

cleanmgr.exe /sageset:0033
auswählen was gelöscht werden soll, das wird dann in die Registry geschrieben und beim nächsten Aufruf gemacht. Dann erstellst Du eine batchdatei die folgendes beinhaltet:
cleanmgr.exe /sagerun:0033
Ab jetzt leert der Aufruf dieser Verknüpfung den Papierkorb auf allen Laufwerken. Der Vorgang dauert einige Sekunden, läuft aber im Hintergrund ab.
Wenn Du die Profversion hast, kannst Du es mittels "gpedit.msc" als Admin festlegen was beim beenden/abmelden passieren soll.
Wähle Menüstruktur "Richtlinien für Lokaler Computer, Benutzerkonfiguration, Windows-Einstellungen, Skripts (Anmelden/Abmelden)" aus.
Da klickst Du dann im rechten Fenster den Eintrag "Abmelden" doppelt an, und gehst im Dialog auf die Schaltfläche "Dateien anzeigen". Der Explorer zeigt nun das Scriptverzeichnis von Windows an. Erstelle in diesem Ordner mit einem Text-Editor die Datei "Leeren.CMD" und gebe ihr den Inhalt
"cleanmgr.exe /sagerun:0033"
Im Dialog klicke dann auf "Hinzufügen", wähle die soeben erstellte Datei aus und bestätige alles mit "OK".

Beim nächsten abmelden/runterfahren verweilt Windows beim Logon-Bildschirm, leert den Papierkorb und zeigt dabei die Fortschrittsanzeige von Cleanmgr.EXE an. Der Befehl gilt für alle Benutzer des Computers. Das Script tritt übrigens auch beim Herunterfahren des Rechners in Aktion, da dem ebenfalls eine Abmeldung vorausgeht.

PS: Du kannst mittels "cleanmgr.exe /sageset:0033" natürlich auch noch mehr einstellen, als nur den Papierkorb leeren, alles was ausgewählt wird, speichert Windows und wird dann auch ausgeführt. Vorsichtig solltest Du sein, wenn der Punkt alte Dateien komprimieren ausgewählt wird, den würde ich immer weglassen.
 
Zuletzt bearbeitet: (Rechtschreibung korrigiert und etwas dazugeschrieben)
Dave-Brombacher schrieb:
rd /s /q C:\Recycler\xx\*

1.) Du solltest die angewöhnen, dass du Pfade immer in " setzt, da sonst bei einem Leerzeichen (das fast immer vorkommt) der Befehl nicht mehr richtig funktioniert.

2.) Abgesehen davon, dass er das * nicht kennt, würdest du hier nur die Ordner im Recycler löschen und nicht die Dateien.

3.) Mit del /s /q "C:\Temp" werden alle Dateien in C:\Temp rekursiv gelöscht. Wenn du damit glücklich wirst, kannst du das ja einmal probieren
 
Zu 1. Da ja kein leerzeichen vorkommt..ist es ja nicht von nöten.

Zu 2. Ja das ist mir bewusst, hätte diesen Befehl noch mit del /s /q C:\Recycler\xx kombiniert

Zu 3. Es bleiben im Papierkorb halt dennoch die Ordner übrig. Im 1. Beitrag habe ich das beschrieben


Danke trotzdem :-)
 
@Dave: wenn der Papierkorb durch Löschen einer Datei benutzt wird, wird der Ordner für den Benutzer auf dem jeweiligen Laufwerk angelegt, falls nicht vorhanden... ich versteh nach wie vor nicht wieso du nicht einfach den kompletten Ordner löschen willst...
 
Klar es ist eine Möglichkeit...so wie ich deinem beitrag entnehmen kann, wird der ordner immer dann ersellt, wenn ich eine Datei in den papierkorb "verschiebe"

Diese Möglichkeit ist meiner Ansicht nach mehr die Holzhammer Art ;-)


Das Problem habe ich ja wie gesagt schon gelöst, indem ich den Papierkorb Ordner, der die gleichen Eigenschaften wie der Papierkorb selber hat, verknüpft habe.

Es hätte mich eben nur noch interessiert ob es auch per Batch geht.


Im Prinzip kann das hier geschlossen werde..oder was weiß ich wie das hier gehandhabt wird


Ich bedanke mich bei allen :-)
 
Warum denn Holzhammerart?
Erstell doch mal eine neue Partition und schau, ob da der Recycler schon mit allen möglichen Usern erstellt wurde - wohl kaum... ist auch nicht notwendig...
Und Windows muss sowieso bei jedem Versuch, eine Datei in den Papierkorb zu verschieben, die Existenz des Ordners überprüfen - ob der nun erstellt werden muss oder nicht macht den Kohl dabei nicht fett...
 
Zurück
Oben