- Um ein winget-Skript zum Installieren und Aktualisieren von Apps unter Windows 11 zu erstellen, verwenden Sie eine Batch-Datei mit einer Liste von App-IDs.
- Das Skript prüft, ob jede App installiert ist. Falls nicht, installiert es sie, und falls ja, sucht es nach Updates und installiert diese.
- Sie können das Skript manuell aus dem Autostart-Ordner oder als geplante Aufgabe ausführen.
Unter Windows 11 können Sie ein einfaches Skript erstellen, um Ihre Lieblings-Apps bei jedem Systemstart automatisch herunterzuladen, zu installieren und zu aktualisieren. In dieser Anleitung zeige ich Ihnen genau, wie das geht.
Da ich viel mit virtuellen Maschinen arbeite, um Anwendungen, Einstellungen und Konfigurationen zu testen, installiere ich das Betriebssystem ständig neu, um eine saubere Umgebung zu gewährleisten. Besonders zeitaufwendig ist dabei die manuelle Neuinstallation aller wichtigen Anwendungen, die ich täglich nutze.
Um dieses Problem zu lösen, habe ich den Windows Package Manager (winget) , Microsofts Befehlszeilentool zur Anwendungsverwaltung, verwendet. Er ist schnell und zuverlässig, aber ich wollte eine noch unkompliziertere Lösung. Daher habe ich ein benutzerdefiniertes Skript erstellt, das automatisch beim Systemstart ausgeführt wird. Es führt zwei Aufgaben aus:
- Falls die App nicht installiert ist, installiert das Skript sie.
- Wenn die App bereits installiert ist, prüft sie auf Aktualisierungen und installiert diese, sobald sie verfügbar sind.
In dieser Anleitung beschreibe ich die Schritte zum Erstellen und Verwenden dieses Skripts. Egal, ob Sie Entwickler, Netzwerkadministrator oder fortgeschrittener Benutzer sind und Zeit sparen möchten – diese Methode hilft Ihnen, die Anwendungsbereitstellung und Systemeinrichtung unter Windows 11 zu optimieren.
Erstellen Sie ein winget-Skript zum Installieren und Aktualisieren von Apps unter Windows 11.
Dies ist ein dreistufiger Prozess. Zuerst müssen Sie eine Liste aller Apps erstellen, die Sie auf Ihrem Computer haben möchten, dann müssen Sie das Skript generieren und schließlich entscheiden, wie das Skript ausgeführt werden soll.
Erstelle eine Liste der Apps
Um mit winget eine Liste der zu installierenden und zu aktualisierenden Apps zu erstellen, gehen Sie wie folgt vor:
-
Öffnen Start .
-
Suchen Sie nach „Eingabeaufforderung“ (oder „Terminal“), klicken Sie mit der rechten Maustaste auf das oberste Ergebnis und wählen Sie die Option „Als Administrator ausführen“ .
-
Geben Sie den folgenden Befehl ein, um die Anwendungsidentifikationsnummer zu finden, und drücken Sie die Eingabetaste :
winget search APP-NAME

Nachdem Sie die Schritte ausgeführt haben, gibt der Befehl die Apps aus, die Ihrer Suchanfrage entsprechen. Verwenden Sie am besten ein einzelnes Wort, das Ihnen hilft, die App zu finden. Enthält der Name ein Leerzeichen, setzen Sie ihn in Anführungszeichen. Andernfalls funktioniert die Suche nicht.
Wenn Sie ein Zitat verwenden, weisen Sie die App an, nach der exakten Übereinstimmung zu suchen. Stellen Sie daher sicher, dass die Suchanfrage korrekt ist. (Dies ist keine Suchmaschine.)
Wenn ich beispielsweise die winget-Informationen für die Anwendung „VLC“ finden möchte, verwende ich den Befehl winget search vlc.
Wiederholen Sie die Schritte und notieren Sie sich den ID-Wert für jede Anwendung, da Sie diese Information zum Erstellen des benutzerdefinierten Skripts benötigen.
Erstellen Sie das winget-Skript
Um eine Batch-Datei zum Installieren und Aktualisieren von Apps zu erstellen, befolgen Sie diese Schritte:
-
Öffnen Start .
-
Suchen Sie nach Notepad und klicken Sie auf das oberste Ergebnis, um die App zu öffnen.
-
Kopieren Sie den folgenden Code und fügen Sie ihn in die Textdatei ein:
@echo off setlocal enabledelayedexpansion :: Liste der Anwendungs-IDs set apps= Microsoft.WindowsTerminal.Preview Microsoft.Edge.Dev Microsoft.PowerToys for %%A in (%apps%) do ( echo --------------------------------------- echo Verarbeitung von %%A... :: Überprüfen, ob die App installiert ist, indem die Listenausgabe erfasst wird winget list --id %%A > temp_check.txt 2>&1 findstr /C:"Kein installiertes Paket gefunden" temp_check.txt >nul if !errorlevel! equ 0 ( echo %%A nicht installiert. Installation... winget install --id %%A --silent --accept-source-agreements --accept-package-agreements ) else ( echo %%A ist installiert. Upgrade wird versucht... winget upgrade --id %%A --silent --accept-source-agreements --accept-package-agreements if !errorlevel! neq 0 ( echo Upgrade failed for %%A or no update available. ) ) echo. ) del temp_check.txt >nul 2>&1 endlocal
-
Im Abschnitt „set apps=“ geben Sie die Anwendungen an, die Sie auf Ihrem Computer installieren und aktualisieren möchten, und trennen Sie die einzelnen Anwendungen durch Leerzeichen.
Kurzer Hinweis: Ich führe in dieser Zeile drei Beispiele an, aber denken Sie daran, diesen Abschnitt zu aktualisieren, um Ihre Anwendungen aufzunehmen.
-
Klicken Sie auf Datei und wählen Sie die Option Speichern unter .
-
Wählen Sie den Speicherort für die Datei aus.
Kleiner Tipp: Wenn Sie OneDrive verwenden, können Sie die Datei in die Cloud hochladen, sodass Sie von all Ihren Computern aus auf das Skript zugreifen können.
-
Geben Sie dem Skript einen Namen und verwenden Sie die Dateiendung .bat .

-
Klicken Sie auf die Schaltfläche „Speichern “.
Nachdem Sie die Schritte abgeschlossen haben, können Sie das Skript manuell ausführen, indem Sie mit der rechten Maustaste auf die „.bat“ -Datei klicken und die Option „Als Administrator ausführen“ verwenden , oder Sie können einen Trigger erstellen, um die Batch-Datei automatisch auszuführen.
Hier ist eine detaillierte Aufschlüsselung des Batch-Skripts und der Funktionsweise der einzelnen Teile:
Ersteinrichtung
@echo offUnterdrückt die Befehlsausgabe.
setlocal enabledelayedexpansionermöglicht die „verzögerte Variablenexpansion“, sodass auf Variablen innerhalb von Klammern in Echtzeit mit !VAR!statt zugegriffen werden kann %VAR%.
Definiert die App-Liste
set apps =Definiert die Liste der winget-App-IDs, die in der Schleife verarbeitet werden sollen.
Schauen Sie sich jede App an.
for %%A in (%apps%) do ()Für jede ID ( %%A) in der Liste der Apps werden die eingeschlossenen Befehle nacheinander ausgeführt.
App-Installation prüfen
winget listDie Ausgabe wird in geschrieben, temp_check.txtda das Befehlszeilentool keine Möglichkeit bietet, zu überprüfen, ob eine Anwendung bereits installiert ist.
findstrDie Datei wird nach dem Ausdruck „Kein installiertes Paket gefunden“ durchsucht. Wird dieser gefunden, wird der Wert ERRORLEVELauf 0 gesetzt , andernfalls auf 1 .
!errorlevel!hilft dabei, den korrekten Fehlercode innerhalb der Schleife zu erhalten.
App installieren oder aktualisieren
- Falls die App nicht installiert ist (
errorlevel = 0), führen Sie Folgendes aus winget install:
- Wenn es installiert ist, führen Sie es aus
winget upgradeund errorlevel ≠ 0melden Sie im Fehlerfall ( ), dass das Upgrade fehlgeschlagen ist oder kein Update verfügbar war.
Bereinigen und beenden Sie das Skript.
delEntfernt die temporäre Datei.
endlocalStellt die vor dem Skript festgelegte Umgebung wieder her und beendet damit die verzögerte Erweiterung.
Richten Sie das Skript ein.
Sie haben drei Möglichkeiten, das Batch-Skript auszuführen. Sie können es manuell ausführen, es dem Ordner „Autostart“ hinzufügen, damit das System es bei jeder Anmeldung automatisch ausführt, oder Sie können mit der Aufgabenplanung eine geplante Aufgabe erstellen.
Manuell
Wenn Sie das Skript manuell ausführen möchten, befolgen Sie diese Schritte:
-
Klicken Sie mit der rechten Maustaste auf die Datei „.bat“ und wählen Sie die Option „Als Administrator ausführen“ .

Sie können es auch direkt über die Eingabeaufforderung oder PowerShell ausführen.
Diese Option eignet sich ideal zum Testen oder für gelegentliche Nutzung, erfordert jedoch jedes Mal eine manuelle Aktivierung.
Zum Autostart-Ordner hinzufügen
Um das Skript automatisch aus dem Ordner „Startup“ zu starten, befolgen Sie diese Schritte:
-
Öffnen Start .
-
Suchen Sie nach „Run“ und klicken Sie auf das oberste Ergebnis, um die App zu öffnen.
-
Geben Sie folgenden Befehl ein, um den Ordner zu öffnen, und drücken Sie die Eingabetaste :
shell:startup

-
Kopieren Sie eine Verknüpfung zur .bat- Datei in den Ordner und fügen Sie sie dort ein.

Nachdem Sie die Schritte abgeschlossen haben, wird das Skript jedes Mal ausgeführt, wenn Sie sich anmelden.
Diese Option lässt sich einfach einrichten, wird aber nur beim Anmelden eines Benutzers und nicht beim Systemstart ausgeführt. Außerdem müssen Sie die Installation jeder App bestätigen, die Administratorrechte benötigt.
Erstellen Sie eine geplante Aufgabe
Um eine geplante Aufgabe zum Ausführen des winget-Skripts zu erstellen, gehen Sie wie folgt vor:
-
Öffnen Start .
-
Suchen Sie nach „Aufgabenplanung“ und klicken Sie auf das oberste Ergebnis, um die App zu öffnen.
-
(Optional) Klicken Sie mit der rechten Maustaste auf den Ordner „Task Scheduler Library“ und wählen Sie die Option „Neuer Ordner“ .
-
Geben Sie einen Namen für den Ordner an – zum Beispiel „ Meine Aufgaben“ .
-
Klicken Sie mit der rechten Maustaste auf den Ordner „Meine Aufgaben“ und wählen Sie die Option „Aufgabe erstellen “ .

-
Klicken Sie auf die Registerkarte „Allgemein“ .
-
Geben Sie im Feld „Name“ einen beschreibenden Namen für die Aufgabe ein, z. B. „ Meine Apps “.

-
Wählen Sie unter „Sicherheitsoptionen“ die Option „Ausführen, unabhängig davon, ob der Benutzer angemeldet ist oder nicht“ .
-
Aktivieren Sie die Option „Mit höchsten Berechtigungen ausführen“ .
-
Klicken Sie auf die Registerkarte „Trigger“ .
-
Klicken Sie auf die Schaltfläche „Neu“ .
-
Wählen Sie unter der Einstellung „Aufgabe starten“ einen Auslöser aus (z. B. „Beim Anmelden“, „Beim Start“ oder nach einem Zeitplan wie täglich).

-
Konfigurieren Sie die Zeitplaneinstellungen nach Bedarf.
Kurzer Hinweis: Der Einfachheit halber empfiehlt sich die Option „Beim Start“ .
-
Klicken Sie auf die Schaltfläche OK .
-
Klicken Sie auf die Registerkarte „Aktionen“ .
-
Klicken Sie auf die Schaltfläche „Neu“ .
-
Wählen Sie unter den Einstellungen „Aktionen“ die Option „Programm starten “.
-
Geben Sie in den Einstellungen „Programm/Skript“ folgenden Befehl ein:
cmd.exe

-
Geben Sie im Feld „Argumente hinzufügen (optional)“ folgenden Befehl ein:
/c "C:\Pfad\zu\IHR-SCRIPT.bat"
-
Klicken Sie auf die Schaltfläche OK .
-
Klicken Sie auf die Registerkarte „Bedingungen“ .
-
Deaktivieren Sie unter „Energie“ die Optionen „Anhalten, wenn der Computer auf Batteriebetrieb umschaltet“ und „Aufgabe nur starten, wenn der Computer an das Stromnetz angeschlossen ist“ .
-
Klicken Sie auf die Schaltfläche OK .
-
Bestätigen Sie das Passwort für Ihr Konto.
-
Klicken Sie auf die Schaltfläche OK .
Sobald Sie die Schritte abgeschlossen haben, wird gemäß Ihrem festgelegten Zeitplan ein Systemwiederherstellungspunkt erstellt.