Hi,
der Zweck sei mal egal, aber ich ne Funktion geschrieben, die sich selbst löscht ohne zusätzliche batch oder änhliches.
[autoit]
Func _selfdelete()
ShellExecute(@ComSpec," /c ping 127.0.0.1 -n 1 & del " & @ScriptName,@ScriptDir,"open",@SW_HIDE)
Exit
EndFunc
Zur Erklärung:
Per Shellexec wird die Cmd aufgerufen.
Dann wird mit ping 127.0.0.1 Lokalhost gepingt.
Dies kann man als quasi-Pause benutzen, die Windows sonst nicht kennt.
Das einmalige Pingen von Lokalhost dauert ca. 1 sek.
der Parameter bestimmt wie oft Lokalhost gepingt wird (hier einmal).
Für größere Scripts am besten erhöhen, denn dies gibt dem Programm die Zeit fürs Exit, da unser Programm nicht auf die Ausführung (und Beendung) des per Shellexec gestarteten Programms wartet.
Mittels des kaufmänischen Unds (&) werden in der CMD mehrere Befehle miteinander verkettet.
In diesem Fall folgt auf das warten die Löschung unseres Programms (del @scriptfullpath).
Viel Spaß, ich kann die Funktion gebrauchen
Grüße
SlowlyDead