QuHno
Außer Betrieb
Folgendes Problem:
Ich habe einen Ordner, voll mit .exe Dateien (MS Update Dateien). In diesen Ordner werden in regelmäßigen Abständen neue .exe Dateien hinzugefügt, die einmal installiert werden sollen und dann eigentlich nie wieder angepackt werden sollen, außer man installiert mal wieder die entsprechnde Software neu.
Da ich nicht jede einzelne Datei anklicken will, habe ich mir eine kleine CMD Datei geschrieben, die sich durch den Ordner fräst und alle Dateien nacheinander installiert (Codeausschnitt):
Das klappt auch ohne Probleme unter XP und Vista. Nun wollte ich in eine kleine Textdatei hineinschreiben, welche der Dateien installiert wurden, das war auch kein Problem, ich musste lediglich folgendes nach ECHO. einfügen:
Nun dachte ich mir, dass man diese Text Datei eventuell missbrauchen könnte, um zu erkennen, welche der Updates noch nicht installiert sind und diese dann zu installieren.
Dazu kann ich ja am Anfang der Batch mittels
überprüfen, ob die test.txt Datei vorhanden ist und dann passend verzweigen.
Die einzelnen Zeilen der TXT Datei kann ich ja mit
auslesen.
... und jetzt verließen sie ihn. Irgendwie fehlt mir der Ansatz, wie ich weiter machen soll (kann auch an der fiebrigen Erkältung liegen, wahrscheinlich ist es trivial). Ich dachte zuerst an FIND, aber irgendwie bekomme ich es nicht gebacken, FIND beizubiegen, dass es den Inhalt der Variablen %%i als Suchbegriff nehmen soll...
Falls jemandem ein völlig anderer Ansatz einfällt, wie ich das Problem geknackt bekomme, wäre das auch willkommen.
Ja, man könnte das ganze natürlich in einer echten Programmiersprache schreiben, aber ich finde, für so ein kleines Teil ist das ein wenig wie mit Kanonen auf Spatzen schießen, irgendwie muss das doch auch so zu lösen sein...
PS: Nicht über die Power Shell, es muss auch auf XPs laufen, die diese nicht installiert haben...
Ich habe einen Ordner, voll mit .exe Dateien (MS Update Dateien). In diesen Ordner werden in regelmäßigen Abständen neue .exe Dateien hinzugefügt, die einmal installiert werden sollen und dann eigentlich nie wieder angepackt werden sollen, außer man installiert mal wieder die entsprechnde Software neu.
Da ich nicht jede einzelne Datei anklicken will, habe ich mir eine kleine CMD Datei geschrieben, die sich durch den Ordner fräst und alle Dateien nacheinander installiert (Codeausschnitt):
Code:
ECHO Installation aller Updates dieses Verzeichnisses ...
FOR /f %%i IN ('DIR /b *.exe') DO (
ECHO Installiere %%i ...
%%i /passive /quiet /norestart
ECHO %%i installiert ...
ECHO.
)
ECHO Installation aller Updates abgeschlossen ...
Code:
echo %%i >> test.txt
Dazu kann ich ja am Anfang der Batch mittels
Code:
IF EXIST test.txt GOTO
Die einzelnen Zeilen der TXT Datei kann ich ja mit
Code:
FOR /f %%K IN (test.txt) DO
... und jetzt verließen sie ihn. Irgendwie fehlt mir der Ansatz, wie ich weiter machen soll (kann auch an der fiebrigen Erkältung liegen, wahrscheinlich ist es trivial). Ich dachte zuerst an FIND, aber irgendwie bekomme ich es nicht gebacken, FIND beizubiegen, dass es den Inhalt der Variablen %%i als Suchbegriff nehmen soll...
Falls jemandem ein völlig anderer Ansatz einfällt, wie ich das Problem geknackt bekomme, wäre das auch willkommen.
Ja, man könnte das ganze natürlich in einer echten Programmiersprache schreiben, aber ich finde, für so ein kleines Teil ist das ein wenig wie mit Kanonen auf Spatzen schießen, irgendwie muss das doch auch so zu lösen sein...
PS: Nicht über die Power Shell, es muss auch auf XPs laufen, die diese nicht installiert haben...