Batchdatei unter Windows
Hallo ich bins , der PcNoob
Ich bruache ein Befehl der die Batchdatei nach Ausführung der andren Befehle selbst löscht.
Dabei kann ich ja nicht den gesamten Pfad angeben , da der ja immer verschieden sein kann.
Ich brauche also einen Befehl (Variable) die immer den aktuellen Standort angibt und davor del setzten oda??
Ich hoffe es kommen viele Antworten
**Danke**
Antwort schreiben
Antwort 1 von Ralfman vom 04.07.2019, 10:00 Options
Hi PcNoob,
Du brauchst keine Variable.
Wenn Du die .bat ausführst, reicht ein simples del xxx.bat als letzte Zeile, und die Schriptdatei Verschwindet. Ich frag mich nur warum Du das noch nicht ausprobiert hast.
Ralf
Antwort 2 von Ralfman vom 04.07.2019, 10:01 Options
xxx.bat muß dem wirklichen Namen natürlich noch angepasst werden.
Antwort 3 von PcNoob vom 04.07.2019, 10:03 Options
Ok klappt danke
DAs heißt wenn ich einen Befehl eingebe , der keinen Ausführungspfad hat , versucht er es im aktuellen Pfad auszuführen?
Antwort 4 von disco vom 04.07.2019, 10:09 Options
moin
so wie ralf es beschreibt wirkt der del befehl natürlich in deinem aktuellen working directory.
also hilft er nur, wenn du im selben verzeichnis bist, wie die bat datei.
willst du die datei löschen, auch wenn sie nicht im workin directory ist.
bsp-aufruf:
c:\>batches\test.bat
dann solltest es in der batch so aussehen:
del %0
g,
disco
Antwort 5 von PcNoob vom 04.07.2019, 10:13 Options
Lol nmach ma bitte langsam was hab ich rein zu schreiben?
Also Schema von mir:
Xcopy ... blabla
del C .. bla
Letzter Befehl soll die DAtei löschen
also
del ......Tempfix.bat
Tempfix.bat=die zu löschende Datei
Antwort 6 von disco vom 04.07.2019, 10:18 Options
mehr als fett markieren kann ichs auch nicht.
vielleicht noch untersteichen...
del %0
Antwort 7 von PcNoob vom 04.07.2019, 10:23 Options
Ok dank dir.
Hab noch nie was von %0 gehört sorry
Antwort 8 von disco vom 04.07.2019, 10:31 Options
%0 ist der aufruf der datei. also der nullte parameter.
dort steht also drin wie der eigentliche aufruf, inkl des pfades war.
kannst ja mal nen echo %0 machen