![]() |
Wie kann ich das Entpacken von .exen automatisieren?
Ich muss etwas automatisieren.
Konkret geht es hier um Windows-Updates, die in verschiedenen Ausprägungen (div. Windows-Versionen und div. Sprachversionen) von Microsoft heruntergeladen wurden. Alle diese Patches/Updates müssen nun aus ihren heruntergeladenen .exen entpackt werden. Leider verhalten die sich um Teil unterschiedlich. Ein sehr gutes Beispiel ist z.B. der Patch ![]() Die 9x- und NT-Versionen lassen mit den Parametern /T:(voller Pfad) /C direkt in ein gewünschtes Verzeichnis entpacken und somit per Batch relativ einfach strukturiert ablegen. Mit den Versionen ab 2k/XP/2003 geht das nicht mehr, dort gibt es keine konkrete Möglichkeit den Patch zu entpacken ausser ihn mit dem Parameter /? aufzurufen und das vom Patch erstellte temporäre Verzeichnis wegzukopieren. Da das termporäre Verzeichnis immer anders heisst lässt sich das nicht mit einfachen Windows-Hausmitteln automatisieren da zudem eine Datei gesperrt ist und man nach dem Wegkopieren noch eine Meldung wegklicken muss damit sich das Update wieder aus dem temp. Verzeichnis löscht. Hier mal die Batch für die Win9x und NT-Versionen:
Code:
Es dreht sich hier allerdings um mindestens 7000 Dateien (knapp 4GB) - die ich, hoffentlich verständlicherweise, wirklich nicht alle einzeln zum entpacken anpacken will.
@echo off
pushd "C:\" mkdir tmp popd call %1 /T:"C:\tmp\" /C /Q move %1 "C:\tmp\" move "C:\tmp" %1 Hat jemand eine Idee wie ich all diese Dateien die sich ja wie beschrieben noch unterschiedlich verhalten können alle automatisiert entpackt und strukturiert abgelegt (am besten in einem Unterverzeichnis das so heisst wie die .exe) bekomme (siehe Beispiel-Batch)? Ich dachte an etwas wie eine Fileüberwachung (Prozess starten, gucken wo der hinschreibt, die Dateien wegkopieren, rausfinden wie das neue Fenster heisst und das automatisch wegklicken), aber habe dafür gerade keinen Ansatz. Wonach muss ich suchen (in der Win32 API oder auch unter .NET, mir egal)? Wenn mir dabei noch weitere Sonderfälle unterkommen sollten die idealerweise auch noch erkannt und zumindest protokolliert werden, damit ich die hinterher nochmal anpacken kann. Also, ein bisschen Brainstorming ist gefragt, ich brauche mögliche Lösungsansätze :) |
Re: Wie kann ich das Entpacken von .exen automatisieren?
Moin Sebastian,
für das Aufspüren des Verzeichnisses: ![]() ![]() für das Fenster: ![]() |
Re: Wie kann ich das Entpacken von .exen automatisieren?
Zitat:
Jede Idee ist verschwendet, da so nur das Rad nochmals erfunden wird. Verwalten von Updates in Netzwerken Zum Aktualisieren von Windows-Betriebssystemen und anderen Microsoft-Produkten innerhalb Ihres Firewalls verwenden Sie die Windows Server Update Services. Mit dieser Lösung, die früher unter dem Namen "Software Update Services (SUS) 2.0" bekannt war, können Administratoren Systeme für die Bereitstellung ansteuern, Benutzerinteraktionen regeln, Updates entfernen, die Häufigkeit und Priorität von Updates planen und weitere Aufgaben durchführen. ![]() |
Re: Wie kann ich das Entpacken von .exen automatisieren?
Shmia: Darum geht es (leider) nicht, das wäre viel zu einfach ;-)
Ich brauche tatsächlich jede einzelne Datei der Updates für verschiedene Systeme und Sprachen zu Prüf- bzw. QS-Zwecken, nach dem Entpacken werden etwaige Doubletten entfernt um das Datenaufkommen zu reduzieren und dann müssen über diese Files regelmässig Testläufe gefahren werden. Wenn's doch nur so einfach wäre ;-) @Chris: Ich schau mir das mal an.. danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz