Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.196 Beiträge
 
Delphi 12 Athens
 
#17

Re: Anwendungsordner löschen

  Alt 19. Feb 2007, 22:21
ich glaub hier wurde was mißverstanden.

die letzte Meldung
Zitat:
Die Batchdatei kann nicht gefunden werden.
gehört nicht zum zuletzt ausgeführten Befehl (DEL self).

Diese Meldung kommt vom der Console (CMD) und bedeutet nur daß keine weiteren Befehle ausgeführt werden können (welche theoretisch nach dem "DEL self" sein könnten), da die Datei nicht mehr existiert (sie wurde ja gelöscht).


Zu den Dateinamen (lang oder kurz):
im Normalfall reichen die langen Dateinamen, nur das diese dort bei vorhandenen Leerzeichen im Pfad/Dateinamen mit den " zusammengehalten werden müssen.
Das Leerzeichen ist schließlich ein Trennzeichen, womit der Dateiname/Pfad ja sonst in mehrere Parameter aufgesplittet würde.


Die Batchdatei zum Löschen darf natürlich auch nicht in dem zu löschendem Pfad liegen, da dieser nicht gelöscht werden kann, wenn noch was drin ist und vorallem die Batchdatei muß schließlich noch existieren (sie kann sich ja erst selber löschen, wenn auch der pfad weg ist.


Hier mal ein paar Möglichkeiten:
(Codes ohne die grauen Kommentare als C:\Temp\DelApp.bat gespeichert)
Code:
@ECHO OFF

[color=gray]EXE in einer schleife löschen,
da diese nicht gelöscht werden kann, wenn sie noch ausgeführt wird.
dies ist sozusagen das Slepp um auf die Beendigung der EXE zu warten[/color]
:Loop
DEL "C:\Dokumente und Einstellungen\xZise\Desktop\Neuer Ordner (2)\app.exe"
IF EXIST "C:\Dokumente und Einstellungen\xZise\Desktop\Neuer Ordner (2)\app.exe"  GOTO Loop

[color=gray]weitere Dateien löschen[/color]
DEL "C:\Dokumente und Einstellungen\xZise\Desktop\Neuer Ordner (2)\app.ini"

[color=gray]verzeichnis löschen[/color]
RD "C:\Dokumente und Einstellungen\xZise\Desktop\Neuer Ordner (2)"

[color=gray]sich selber löschen[/color]
DEL "C:\Temp\DelApp.bat"
Code:
@ECHO OFF

[color=gray]Laufwerk/Verzeichnis wählen[/color]
C:
CD "\Dokumente und Einstellungen\xZise\Desktop\Neuer Ordner (2)"

[color=gray]EXE löschen[/color]
:Loop
DEL "app.exe"
IF EXIST "app.exe"  GOTO Loop

[color=gray]weitere Dateien löschen[/color]
DEL "app.ini"

[color=gray]verzeichnis löschen[/color]
CD ..
RD "Neuer Ordner (2)"

[color=gray]sich selber löschen[/color]
DEL "C:\Temp\DelApp.bat"
Code:
@ECHO OFF

[color=gray]EXE löschen[/color]
:Loop
DEL "C:\Dokumente und Einstellungen\xZise\Desktop\Neuer Ordner (2)\app.exe"
IF EXIST "C:\Dokumente und Einstellungen\xZise\Desktop\Neuer Ordner (2)\app.exe"  GOTO Loop

[color=gray]Verzeichnis samt Dateien löschen[/color]
DEL "C:\Dokumente und Einstellungen\xZise\Desktop\Neuer Ordner (2)"

[color=gray]sich selber löschen[/color]
DEL "C:\Temp\DelApp.bat"

Zitat von DGL-luke:
Ähm... "Wie säge ich den Ast ab, auf dem ich sitze?"
Indem man auf 'nen anderen Ast klettert.
Also die Batchdatei in das temporäre Verzeichnis und alles von dort aus.

[edit]
Befehlsanzeige in den Batch abgeschaltet ... sollte vorallem in der Schleife so besser sein ^^
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat