Wenn man ein kleines Deinstallationskript als Batchdatei realisiert, dann hat man am Ende ein Problem. Wie werde ich die letzte Batch datei los, nämlich die die gerade läuft?
Ganz einfach. mit dem DEL Befehl kann man auch sich selbst löschen. Es gibt zwar eine Fehlermeldung, aber 1. sieht man die nicht lange weil sich ja das Dos Fenster schließt wenn man die Batch per Doppelklick unter Windows gestartet hat und 2. wenn stört schon diese Fehlermeldung wenn die Datei danach wenigsten weg ist.
Aber ein kleines Problem gibt es dabei jedoch. Woher bekomm ich den exakten Namen. Aber da hilft ja dieser Beitrag hier weiter.
Letztendlich bekommen wir mit dem Simplen Befehl DEL %0 an unser gewünschtes Ziel.
Zum Spaß gibts auch hier die Batch zum Downloaden, die als einzige Aktion sich selbst löscht. Zwar nicht sinnvoll aber lustig. :-)
Self_Erasing_Batch_File.bat
Um in einer Batch Datei Informationen über sich selbst (also die eigene Batch Datei) zu bekommen kann man sich der Variablen %0 bedienen.
Diese Variable gibt Standardmäßig den Pfad incl. Namen der eigenen Batchdatei zurück.
Zwischen dem Prozent Zeichen und der Null kann man auch noch verschiedene Buchstaben setzen, um z.B. nur den Pfad zu ermitteln.
Hier mal eine Liste der Möglichkeiten.
| %~d0 | Laufwerk in dem die Datei liegt |
| %~p0 | Pfad der Batchdatei ohne Laufwerksbuchstaben |
| %~n0 | Name der Batchdatei |
| %~x0 | Dateiendung der Batchdatei |
| %~z0 | Größe der Batchdatei in Byte |
| %~t0 | Änderungsdatum der Batchdatei |
| %0 | Gesamter Pfad zur Batchdatei incl. Name und Dateiendung |
Eine kleine Demonstration der Befehle gibt`s auch zum Runterladen : Batch_Information.bat.