Die Idee des Initialization und FinalizationHooks finde ich super, da jeder dem Downloadlauf eigene Befehle damit hinzufügen kann, ohne das Skript selbst zu verändern.
Beim durchsehen der DownloadUpdates.cmd istnmir jedoch aufgefallen, dass letzterer pro Durchlauf mehr als einmal aufgerufen wird.
Dies geschieht dadurch, dass :DownloadCore mehrfach aufgerufen wird (Z. 828ff). Sobald dieser abgearbeitet ist springt er zu :EoF (erst zu :EndDownload und dann zu :EoF). Unter :EoF wird auch (falls vorhanden) diese cmd aufgerufen. Nach Beendigung des kompletten Durchlaufs (dotnet, win glb, %1 glb, %1 %2 ...) springt das gesamte Programm dann auch wiederunm über :RemindDate zu :EoF und führt den FinalizationHook erneut aus.
Wenn ich den Sinn dieses Skripts richtig verstanden habe, ist jedoch nur die letzttgenannte Verwendung erwünscht.
Darum mein Vorschlag: die Sprungmarke von :EndDownload verändern (nicht mehr :EoF, sondern meinetwegen :EoFd), damit dieses Skript nur ganz am Ende des Downloads ausgeführ wird.
Viele Grüße