Entwickler-Ecke

Windows API - Programm soll sich selbst löschen... [gelöst]


recall - Mi 03.09.03 10:17
Titel: Programm soll sich selbst löschen... [gelöst]
Hallo,

ich will, dass sich mein Programm selbst löscht, und auch den Pfad, in dem es sich befindet...
Wenn ich jetzt eine batch-datei erstelle, dann krieg ich diese ja wieder nicht gelöscht :( , also weiss einer, was ich da machen kann ?

Vielen Dank im voraus... :D

Viele Grüsse.


Motzi - Mi 03.09.03 10:28

Doch, eine Batch-Datei kann sich selbst löschen... ;)


recall - Mi 03.09.03 23:22

Danke. Na das ist ja schonmal was...
Aber kann die bat-datei auch den pfad löschen, in dem sie sich befindet ?
und wenn ja, wie ? (Befehle !?) *KennMichMitBatNichtSoGutAus*

Viele Grüsse.

P.S.: Eine bat-Datei wird ja immer als dos-Fenster angezeigt, wie kann ich das dann verhindern ?


Delete - Mi 03.09.03 23:43

recall hat folgendes geschrieben:
Danke. Na das ist ja schonmal was...
Aber kann die bat-datei auch den pfad löschen, in dem sie sich befindet ?
und wenn ja, wie ? (Befehle !?) *KennMichMitBatNichtSoGutAus*

Bitte nicht falsch verstehen! Ich will nicht sagen, dass deine Batch-Idee schlecht ist, aber es gibt noch die Möglichkeit, die Windows auch benutzt. Dateien werden nach einem Neustart tatsächlich gelöscht. Dazu hat sakura in der DP einen Beitrag gepostet: Gesperrte Dateien löschen [http://www.delphipraxis.net/topic3031_gesperrte+dateien+l%f6schen.html]. Es ist nur eine Alternative zu der Batch-Geschichte. Wenn dir das nicht hilft, dann vergiss es ... ignorier es ... hab´s nie geschrieben ... :)

Zitat:
P.S.: Eine bat-Datei wird ja immer als dos-Fenster angezeigt, wie kann ich das dann verhindern ?

Du startest die Batch über "ShellExecute", oder? Dann nimm SW_HIDE als letzten Parameter.


hansa - Do 04.09.03 02:17

Ich würde mal den Befehl "deltree" ausprobieren. Also z.B. "deltree \programm". Dann müßte alles weg sein. Mit Shellexecute, versteht sich.


Delete - Do 04.09.03 02:43

deltree gibt es unter Windows 2000/XP nicht mehr. Stattdessen muß man rd mit einem Parameter nehmen.


svenson08 - Do 04.09.03 11:57

nimm rm /s /q damit wird auch alles rausgelöscht. mit rm /? bekommst du noch andere Parameter angezeigt. Und du weist auch das Pfade mit leer zeichen in "" gesetzt werden müssen.


recall - Do 04.09.03 16:23

Danke, werde ich ausprobieren :D .

Viele Grüsse.