- Para crear un script de winget para instalar y actualizar aplicaciones en Windows 11, utilice un archivo por lotes con una lista de identificadores de aplicaciones.
- El script comprueba si cada aplicación está instalada. Si no lo está, la instala; si lo está, busca actualizaciones y las instala.
- Puedes ejecutar el script manualmente, desde la carpeta de Inicio, o como una tarea programada.
En Windows 11 , puedes crear un script sencillo para descargar, instalar y actualizar automáticamente tus aplicaciones favoritas cada vez que se inicie el sistema, y en esta guía te mostraré exactamente cómo hacerlo.
Como usuario frecuente de máquinas virtuales para probar aplicaciones, configuraciones y ajustes, reinstalo constantemente el sistema operativo para garantizar un entorno limpio. Una de las partes que más tiempo consume es la reinstalación manual de todas las aplicaciones esenciales que utilizo a diario.
Para solucionar esto, recurrí al Administrador de paquetes de Windows (Winget) , la herramienta de línea de comandos de Microsoft para administrar aplicaciones. Es rápido y confiable, pero quería algo aún más automatizado. Así que creé un script personalizado que se ejecuta automáticamente al inicio. Realiza dos tareas:
- Si la aplicación no está instalada, el script la instala.
- Si la aplicación ya está instalada, comprueba si hay actualizaciones y las instala cuando estén disponibles.
En esta guía , describiré los pasos para crear y usar este script. Ya seas desarrollador, administrador de red o usuario avanzado que busca ahorrar tiempo, este método te ayudará a optimizar la implementación de aplicaciones y la configuración del sistema en Windows 11.
Crea un script de Winget para instalar y actualizar aplicaciones en Windows 11.
Este es un proceso de tres pasos. Primero, debes crear una lista de todas las aplicaciones que deseas tener en tu computadora; luego, debes generar el script; y finalmente, debes decidir cómo ejecutarlo.
Generar una lista de aplicaciones
Para crear una lista de aplicaciones para instalar y actualizar usando winget, siga estos pasos:
-
Abrir Inicio .
-
Busque " Símbolo del sistema" (o "Terminal"), haga clic con el botón derecho en el primer resultado y seleccione la opción " Ejecutar como administrador" .
-
Escriba el siguiente comando para encontrar el número de identificación de la aplicación y pulse Intro :
Búsqueda de Winget NOMBRE DE LA APLICACIÓN

Una vez completados los pasos, el comando mostrará las aplicaciones que coincidan con la consulta. Generalmente, conviene usar una sola palabra clave para encontrar la aplicación. Si el nombre contiene un espacio, utilice comillas. De lo contrario, la búsqueda no funcionará.
Además, si utilizas una cita, le estarás indicando a la aplicación que busque la coincidencia exacta, así que asegúrate de que la consulta sea correcta. (Esto no es un motor de búsqueda).
Por ejemplo, si quiero encontrar la información de winget para la aplicación "VLC", uso el comando winget search vlc.
Repita los pasos y anote el valor de ID de cada aplicación, ya que necesitará esta información para crear el script personalizado.
Crea el script winget
Para crear un archivo por lotes para instalar y actualizar aplicaciones, siga estos pasos:
-
Abrir Inicio .
-
Busca "Bloc de notas" y haz clic en el primer resultado para abrir la aplicación.
-
Copia y pega el siguiente código en el archivo de texto:
@echo off setlocal enabledelayedexpansion :: Lista de ID de aplicaciones set apps= Microsoft.WindowsTerminal.Preview Microsoft.Edge.Dev Microsoft.PowerToys for %%A in (%apps%) do ( echo --------------------------------------- echo Procesando %%A... :: Comprobar si la aplicación está instalada capturando la salida de la lista winget list --id %%A > temp_check.txt 2>&1 findstr /C:"No se encontró ningún paquete instalado" temp_check.txt >nul if !errorlevel! equ 0 ( echo %%A no está instalado. Instalando... winget install --id %%A --silent --accept-source-agreements --accept-package-agreements ) else ( echo %%A está instalado. Intentando actualizar... winget upgrade --id %%A --silent --accept-source-agreements --accept-package-agreements if !errorlevel! neq 0 ( echo La actualización falló para %%A o no hay ninguna actualización disponible. ) ) echo. ) del temp_check.txt >nul 2>&1 endlocal
-
En la sección “set apps=” , anote las aplicaciones que desea instalar y actualizar en su computadora, y utilice un espacio para separar cada aplicación.
Nota rápida: Incluyo tres ejemplos en esta línea, pero recuerde actualizar esta sección para incluir sus aplicaciones.
-
Haz clic en Archivo y elige la opción Guardar como .
-
Seleccione la ubicación donde desea guardar el archivo.
Consejo rápido: Si utilizas OneDrive, puedes subir el archivo a la nube para tener acceso al script desde todos tus ordenadores.
-
Confirme un nombre para el script y utilice la extensión de archivo .bat .

-
Haz clic en el botón Guardar .
Una vez completados los pasos, puede ejecutar el script manualmente haciendo clic con el botón derecho en el archivo “.bat” y utilizando la opción “Ejecutar como administrador” , o puede crear un activador para ejecutar el archivo por lotes automáticamente.
Aquí tienes un desglose detallado del script por lotes y cómo funciona cada parte:
Configuración inicial
@echo offSuprime la repetición de comandos.
setlocal enabledelayedexpansionhabilita la “expansión de variables retardada” para que se pueda acceder a las variables dentro de paréntesis en tiempo real usando !VAR!en lugar de %VAR%.
Define la lista de aplicaciones
set apps =define la lista de ID de aplicaciones winget que se procesarán en el bucle.
Revisa cada aplicación
for %%A in (%apps%) do ()Para cada ID ( %%A) en la lista de aplicaciones, los comandos incluidos se ejecutan secuencialmente.
Comprobar la instalación de la aplicación
winget listescribe la salida en temp_check.txtporque la herramienta de línea de comandos no tiene forma de comprobar si una aplicación ya está instalada.
findstrBusca en ese archivo la frase “No se encontró ningún paquete instalado”. Si se encuentra, se establece ERRORLEVELen 0; de lo contrario, en 1 .
!errorlevel!ayuda a obtener el código de error correcto dentro del bucle.
Instalar o actualizar la aplicación
- Si la aplicación no está instalada (
errorlevel = 0), ejecute winget install.
- Si está instalado, ejecute
winget upgradey, en caso de fallo ( errorlevel ≠ 0), informe de que la actualización ha fallado o de que no hay ninguna actualización disponible.
Limpiar y finalizar script
delElimina el archivo temporal.
endlocalRestaura el entorno previo al script, poniendo fin a la expansión diferida.
Configurar el script
Tienes tres opciones para ejecutar el script por lotes. Puedes ejecutarlo manualmente, agregarlo a la carpeta "Inicio" para que el sistema lo ejecute automáticamente cada vez que inicies sesión en tu cuenta, o puedes crear una tarea programada con el Programador de tareas.
A mano
Si desea ejecutar el script manualmente, siga estos pasos:
-
Haz clic con el botón derecho en el archivo “.bat” y selecciona la opción Ejecutar como administrador .

También puedes ejecutarlo directamente a través del Símbolo del sistema o PowerShell.
Esta opción es ideal para realizar pruebas o para un uso ocasional, pero requiere una activación manual cada vez.
Agregar a la carpeta Inicio
Para ejecutar el script automáticamente desde la carpeta "Inicio", siga estos pasos:
-
Abrir Inicio .
-
Busca "Run" y haz clic en el primer resultado para abrir la aplicación.
-
Escriba el siguiente comando para abrir la carpeta y pulse Intro :
shell:startup

-
Copia y pega un acceso directo al archivo .bat en la carpeta.

Una vez completados los pasos, el script se ejecutará cada vez que inicies sesión.
Esta opción es fácil de configurar, pero solo se ejecuta cuando un usuario inicia sesión, no al arrancar el sistema. Además, deberá confirmar la instalación de cada aplicación que requiera permisos de administrador.
Crear una tarea programada
Para crear una tarea programada que ejecute el script winget, siga estos pasos:
-
Abrir Inicio .
-
Busca "Programador de tareas" y haz clic en el primer resultado para abrir la aplicación.
-
(Opcional) Haga clic con el botón derecho en la carpeta "Biblioteca del Programador de tareas" y seleccione la opción Nueva carpeta .
-
Confirme un nombre para la carpeta; por ejemplo, Mis tareas .
-
Haz clic con el botón derecho en la carpeta "Mis tareas" y selecciona la opción "Crear tarea" .

-
Haz clic en la pestaña General .
-
En el campo “Nombre”, escriba un nombre descriptivo para la tarea, como por ejemplo “ Mis aplicaciones ”.

-
Seleccione la opción "Ejecutar independientemente de si el usuario ha iniciado sesión o no" en la sección "Opciones de seguridad".
-
Marque la opción "Ejecutar con los privilegios más altos" .
-
Haz clic en la pestaña "Activadores" .
-
Haz clic en el botón Nuevo .
-
Seleccione un desencadenador (como "Al iniciar sesión", "Al arrancar" o según una programación, como por ejemplo diariamente) en la configuración "Iniciar la tarea".

-
Configure los ajustes de programación según sea necesario.
Nota rápida: Para mayor simplicidad, puede que prefiera elegir la opción "Al iniciar" .
-
Haz clic en el botón Aceptar .
-
Haz clic en la pestaña Acciones .
-
Haz clic en el botón Nuevo .
-
Seleccione la opción "Iniciar un programa" en la configuración "Acciones".
-
En la configuración “Programa/script”, escriba el siguiente comando:
cmd.exe

-
En la configuración “Agregar argumentos (opcional)”, escriba el siguiente comando:
/c "C:\ruta\a\TU-SCRIPT.bat"
-
Haz clic en el botón Aceptar .
-
Haz clic en la pestaña Condiciones .
-
En la sección "Energía", desactive las opciones "Detener si el equipo cambia a alimentación por batería" e "Iniciar la tarea solo si el equipo está conectado a la corriente alterna" .
-
Haz clic en el botón Aceptar .
-
Confirma la contraseña de tu cuenta.
-
Haz clic en el botón Aceptar .
Una vez completados los pasos, se creará un punto de restauración del sistema según la programación que haya especificado.