- Per creare uno script Winget per installare e aggiornare le app su Windows 11, utilizza un file batch con un elenco di ID delle app.
- Lo script controlla se ogni applicazione è installata. In caso contrario, la installa; se è già presente, verifica la presenza di aggiornamenti e li installa.
- È possibile eseguire lo script manualmente, dalla cartella Avvio, oppure come attività pianificata.
Su Windows 11 , è possibile creare un semplice script per scaricare, installare e aggiornare automaticamente le app preferite ogni volta che il sistema si avvia. In questa guida, vi mostrerò esattamente come fare.
Lavorando a stretto contatto con le macchine virtuali per testare app, impostazioni e configurazioni, reinstallo costantemente il sistema operativo per garantire un ambiente pulito. Una delle fasi più dispendiose in termini di tempo è la reinstallazione manuale di tutte le applicazioni essenziali che utilizzo quotidianamente.
Per risolvere questo problema, mi sono rivolto a Windows Package Manager (Winget) , lo strumento da riga di comando di Microsoft per la gestione delle applicazioni. È veloce e affidabile, ma volevo qualcosa di ancora più automatico. Così, ho creato uno script personalizzato che si avvia automaticamente all'avvio del sistema. Svolge due compiti:
- Se l'applicazione non è installata, lo script la installa.
- Se l'app è già installata, verifica la presenza di aggiornamenti e li installa quando disponibili.
In questa guida , illustrerò i passaggi per creare e utilizzare questo script. Che tu sia uno sviluppatore, un amministratore di rete o un utente esperto che desidera risparmiare tempo, questo metodo ti aiuterà a semplificare la distribuzione delle app e la configurazione del sistema su Windows 11.
Crea uno script Winget per installare e aggiornare le app su Windows 11
Si tratta di un processo in tre fasi. Innanzitutto, devi creare un elenco di tutte le applicazioni che desideri installare sul tuo computer, poi devi generare lo script e infine devi decidere come eseguirlo.
Genera un elenco di app
Per creare un elenco di app da installare e aggiornare tramite Winget, segui questi passaggi:
-
Apri Start .
-
Cerca " Prompt dei comandi" (o "Terminale"), fai clic con il pulsante destro del mouse sul primo risultato e seleziona l' opzione "Esegui come amministratore" .
-
Digita il seguente comando per trovare il numero di identificazione dell'applicazione e premi Invio :
ricerca winget APP-NAME

Una volta completati i passaggi, il comando visualizzerà le app corrispondenti alla query. In genere, è consigliabile utilizzare una singola parola che faciliti la ricerca dell'app. Se il nome contiene spazi, utilizzare le virgolette. In caso contrario, la ricerca non funzionerà.
Inoltre, se utilizzi le virgolette, stai dicendo all'app di cercare la corrispondenza esatta, quindi assicurati che la query sia corretta. (Questa non è un motore di ricerca.)
Ad esempio, se voglio trovare le informazioni Winget per l'app "VLC", utilizzo il comando winget search vlc.
Ripeti i passaggi e annota il valore ID per ciascuna applicazione, poiché ti serviranno queste informazioni per creare lo script personalizzato.
Crea lo script dell'ala
Per creare un file batch per installare e aggiornare le app, segui questi passaggi:
-
Apri Start .
-
Cerca " Blocco note" e fai clic sul primo risultato per aprire l'applicazione.
-
Copia e incolla il seguente codice nel file di testo:
@echo off setlocal enabledelayedexpansion :: Elenco degli ID delle applicazioni set apps= Microsoft.WindowsTerminal.Preview Microsoft.Edge.Dev Microsoft.PowerToys for %%A in (%apps%) do ( echo --------------------------------------- echo Elaborazione di %%A... :: Verifica se l'app è installata acquisendo l'output dell'elenco winget list --id %%A > temp_check.txt 2>&1 findstr /C:"Nessun pacchetto installato trovato" temp_check.txt >nul if !errorlevel! equ 0 ( echo %%A non installato. Installazione in corso... winget install --id %%A --silent --accept-source-agreements --accept-package-agreements ) else ( echo %%A è installato. Tentativo di aggiornamento in corso... winget upgrade --id %%A --silent --accept-source-agreements --accept-package-agreements if !errorlevel! neq 0 ( echo Aggiornamento non riuscito per %%A o nessun aggiornamento disponibile. ) ) echo. ) del temp_check.txt >nul 2>&1 endlocal
-
Nella sezione “set apps=” , elenca le applicazioni che desideri installare e aggiornare sul tuo computer, separandole con uno spazio.
Breve nota: in questa riga ho incluso tre esempi, ma ricordati di aggiornare questa sezione per includere le tue applicazioni.
-
Fai clic su File e scegli l' opzione Salva con nome .
-
Seleziona la posizione in cui salvare il file.
Un consiglio rapido: se usi OneDrive, puoi caricare il file sul cloud in modo da poter accedere allo script da tutti i tuoi computer.
-
Conferma un nome per lo script e utilizza l' estensione .bat .

-
Fai clic sul pulsante Salva .
Una volta completati i passaggi, è possibile eseguire lo script manualmente facendo clic con il pulsante destro del mouse sul file ".bat" e selezionando l' opzione "Esegui come amministratore" , oppure è possibile creare un trigger per eseguire automaticamente il file batch.
Ecco una descrizione dettagliata dello script batch e del funzionamento di ciascuna sua parte:
Impostazioni iniziali
@echo offsopprime l'eco dei comandi.
setlocal enabledelayedexpansionabilita l'“espansione ritardata delle variabili” in modo che le variabili tra parentesi possano essere accedute in tempo reale utilizzando !VAR!invece di %VAR%.
Definisce l'elenco delle app
set apps =Definisce l'elenco degli ID delle app Winget da elaborare nel ciclo.
Esamina ogni app
for %%A in (%apps%) do ()per ogni ID ( %%A) nell'elenco delle app, i comandi racchiusi vengono eseguiti in sequenza.
Verifica l'installazione dell'app
winget listscrive l'output temp_check.txtperché lo strumento da riga di comando non ha un modo per verificare se un'app è già installata.
findstrcerca in quel file la frase "Nessun pacchetto installato trovato". Imposta ERRORLEVELa 0 se trovata, altrimenti a 1 .
!errorlevel!Aiuta a ottenere il codice di errore corretto all'interno del ciclo.
Installa o aggiorna l'app
- Se l'app non è installata (
errorlevel = 0), esegui winget install.
- Se è installato, esegui
winget upgradee, in caso di errore errorlevel ≠ 0, segnala che l'aggiornamento non è riuscito o che non era disponibile alcun aggiornamento.
Pulisci e termina lo script
delrimuove il file temporaneo.
endlocalripristina l'ambiente pre-script, terminando l'espansione ritardata.
Imposta lo script
Hai tre opzioni per eseguire lo script batch. Puoi eseguirlo manualmente, aggiungerlo alla cartella "Avvio" per consentire al sistema di eseguirlo automaticamente ogni volta che accedi al tuo account, oppure puoi creare un'attività pianificata con l'Utilità di pianificazione.
Manualmente
Se desideri eseguire lo script manualmente, segui questi passaggi:
-
Fai clic con il pulsante destro del mouse sul file ".bat" e seleziona l' opzione "Esegui come amministratore" .

È possibile eseguirlo anche direttamente tramite il prompt dei comandi o PowerShell.
Questa opzione è ideale per i test o per un utilizzo occasionale, ma richiede l'avvio manuale ogni volta.
Aggiungi alla cartella Avvio
Per avviare automaticamente lo script dalla cartella "Avvio", segui questi passaggi:
-
Apri Start .
-
Cerca " Esegui" e fai clic sul primo risultato per aprire l'applicazione.
-
Digita il seguente comando per aprire la cartella e premi Invio :
shell:startup

-
Copia e incolla il collegamento al file .bat nella cartella.

Una volta completati i passaggi, lo script verrà eseguito ogni volta che effettuerai l'accesso.
Questa opzione è facile da configurare, ma si attiva solo quando un utente effettua l'accesso, non all'avvio del sistema. Inoltre, dovrai confermare l'installazione per ogni applicazione che richiede privilegi elevati.
Crea un'attività pianificata
Per creare un'attività pianificata per eseguire lo script Winget, segui questi passaggi:
-
Apri Start .
-
Cerca " Utilità di pianificazione" e fai clic sul primo risultato per aprire l'applicazione.
-
(Facoltativo) Fare clic con il pulsante destro del mouse sulla cartella "Libreria Utilità di pianificazione" e selezionare l' opzione Nuova cartella .
-
Conferma un nome per la cartella, ad esempio " Le mie attività" .
-
Fai clic con il pulsante destro del mouse sulla cartella "Attività personali" e seleziona l' opzione "Crea attività" .

-
Fai clic sulla scheda Generale .
-
Nel campo “Nome”, digita un nome descrittivo per l'attività, ad esempio “ Le mie app ”.

-
Nella sezione "Opzioni di sicurezza", selezionare l' opzione "Esegui indipendentemente dal fatto che l'utente sia connesso o meno" .
-
Seleziona l' opzione "Esegui con i privilegi più elevati" .
-
Fai clic sulla scheda Trigger .
-
Fai clic sul pulsante Nuovo .
-
Seleziona un trigger (ad esempio "All'accesso", "All'avvio" o in base a una pianificazione, come giornaliera) nell'impostazione "Avvia l'attività".

-
Configura le impostazioni di pianificazione secondo necessità.
Breve nota: per semplicità, si consiglia di scegliere l' opzione "All'avvio" .
-
Fai clic sul pulsante OK .
-
Fai clic sulla scheda Azioni .
-
Fai clic sul pulsante Nuovo .
-
Seleziona l' opzione "Avvia un programma" nella sezione "Azioni".
-
Nella sezione “Programma/script”, digita il seguente comando:
cmd.exe

-
Nella sezione “Aggiungi argomenti (facoltativo)”, digita il seguente comando:
/c "C:\percorso\al\TUO-SCRIPT.bat"
-
Fai clic sul pulsante OK .
-
Fai clic sulla scheda Condizioni .
-
Nella sezione "Alimentazione", deselezionare le opzioni "Interrompi se il computer passa all'alimentazione a batteria" e "Avvia l'attività solo se il computer è alimentato dalla rete elettrica" .
-
Fai clic sul pulsante OK .
-
Conferma la password del tuo account.
-
Fai clic sul pulsante OK .
Una volta completati i passaggi, verrà creato un punto di ripristino del sistema in base alla pianificazione specificata.