ATOS - Around The Operating System Das ATOS-Magazin 6/96

# Second Chance

Viele Systeme bieten ein Feature, das man unter TOS vergeblich sucht: einen löschbaren Papierkorb, in dem man mal rumwühlen kann, wenn man versehentlich etwas gelöscht hat, das man kurze Zeit später dringend benötigt. Wer will von sich behaupten, daß ihm sowas noch nie passiert sei? Einzig die Gemini-User sind da im Vorteil: Gemini unterscheidet zwischen Papierkorb und Reißwolf.

Für alle anderen kommt nun die Lösung in Form eines kleinen Auto-Ordner-Programmes daher: 2C. 2C steht dabei für Second Chance und stammt aus der Tastatur von Sven Kopacz, der auch schon für WinCom verantwortlich zeichnete.

Zur Arbeitsweise: Nachdem man 2c.prg in den Auto-Ordner kopiert und den Rechner neu gebootet hat, legt man anschließend auf jedem Laufwerk, auf dem man 2C einsetzen möchte, einen Ordner namens -TRASH- an. Die beiden Minus-Zeichen bewirken, daß dieser Ordner immer an erster Stelle im Verzeichnis steht, gleichgültig, welche Sortierweise man bevorzugt (von unsortiert mal abgesehen, aber das ist ja auch keine Sortierweise ...).

Von nun an bewirkt ein Löschen eines Files vom Desktop aus, daß dieses File in diesen Ordner wandert. Trotzdem teilt einem der Desktop mit, daß "gelöscht" wird. Will man anschließend ein File neu beleben, kann man es sich bequem aus dem -TRASH- Ordner zurückholen.

Wermutstropfen: 2C behält keine Ordnerstrukturen bei. Das bedeutet auch, daß ein Löschen von gleichnamigen Dateien dazu führt, daß nur immer die zuletzt gelöschte gerettet wird.

Wie funktioniert das Ganze?
Der Cleaner
Das Zusatz-Utility Trash Scan
Bezugsquellen

### Der Cleaner

Damit die -TRASH- Ordner nicht irgendwann den Umfang der Festplatte sprengen, wird bei 2C ein Tool mitgeliefert, das dafür sorgt, daß die Mülleimer von Zeit zu Zeit geleert werden.

Dieses Tool wird mittels einer INF-Datei konfiguriert und so kann man selber festlegen, wie lange die Dateien im Mülleimer gesichert werden. Dabei kann man für jedes Laufwerk andere Werte einstellen. Das sieht in der Konfigurationsdatei so aus:

;A und B lassen wir gleich mal weg.
;Auf Laufwerk C den Müll erst nach 10 Tagen entfernen:
C 10
;Auf Laufwerk D-G nach 2 Tagen löschen:
D 2
E 2
F 2
G 2
;Auf Laufwerk H und K immer alles löschen:
;H
;K
;Alle anderen Laufwerke werden in Ruhe gelassen
;(weil sie hier nicht eingetragen sind)

Kopiert man Cleaner in den APPS-Ordner von MagiC, dann braucht man sich um das Leeren der Mülleimer nicht mehr zu kümmern, es geschieht mindestens einmal täglich, nämlich beim Booten des Rechners.

### Das Zusatz-Utility Trash Scan

Mit Trash Scan hat Sven noch ein Zusatz-Utility nachgereicht, das nach dem Start die Möglichkeit bietet, für ein Laufwerk, auf dem 2C arbeitet, nach allen zuletzt gelöschten Dateien zu suchen und für diese Dateien eine Thing-Gruppendatei anzulegen. Dabei wird schon klar, daß dieses Zusatz-Utility nur dann Sinn macht, wenn man den Desktop THING benutzt.

"Zuletzt gelöscht" bedeutet: Es wird zunächst die jüngste Datei im Trash-Directory gesucht. Anschließend werden alle Dateien in die Gruppe übernommen, die nicht älter als 15 Minuten wie eben diese jüngste Datei sind.

Zu installieren gibt's nix. Am besten legt man sich Trash Scan als Icon neben den Mülleimer auf den Desktop. Nach einem Doppelklick erscheint ein Popup mit allen angemeldeten Laufwerken. Ein Klick auf den Cancel-Button oder einfach auf keines der Laufwerke bricht die ganze Aktion ab.

Übrigens wird die Thing-Gruppendatei direkt im jeweiligen Trash-Directory angelegt und damit automatisch irgendwann von CLEANER wieder gelöscht (sofern dieser für das jeweilige Laufwerk konfiguriert ist).

### Wie funktioniert das Ganze?

(es spricht der Programmierer selbst ...)

> Das Prinzip von 2C ist völlig simpel. Es hängt einfach im GEMDOS-Trap und macht aus jedem Fdelete ein Frename, das war's eigentlich schon. Allerdings wird vor dem Frename eine evtl. vorhandene gleichnamige Datei aus -TRASH- gelöscht. Geht Frename schief (kein -TRASH- Ordner), wird einfach das Original gelöscht. Geht auch das schief, hängt der Returncode, den die Applikation dann bekommt, davon ab, ob sich die Datei im -TRASH- löschen lies. Wenn ja, dann war es mit großer Wahrscheinlichkeit eben diese Datei, die überhaupt gelöscht werden sollte und die Applikation erhält ein OK. Ansonsten wurde versucht, eine nicht vorhandene Datei zu löschen und der entsprechende Fehlercode wird zurückgegeben.

> Diese Vorgehensweise birgt zwar ein Problem, aber das ist mir viel zu unbedeutend, als das ich deswegen größeren Aufwand betreiben würde: Versucht nämlich eine Applikation eine Datei zu löschen, die nicht existiert, zu der es aber ein gleichnamiges Pendant im -TRASH- Ordner gibt, passiert folgendes: Die -TRASH- Datei wird gelöscht und die Applikation erhält ein OK als Rückgabewert. Allerdings ist dieser Fall sehr unwahrscheinlich und die Folgen sind alles andere als schlimm, also was soll's.

### Bezugsquellen

Name: | 2C (Second Chance)
Name: | Trash Scan
Version: | 1.0
Sparte: | Utility
Status: | Freeware
Archivname: | 2C_1_0.LZH im öffentlichen Programmteil
Archivname: | TSCAN.LZH

Beide Archive zu finden in der MAUS LB.

RW