Как создать сценарий Winget для автоматической установки и обновления приложений в Windows 11

118
w i n d o w s 33.webp

Последнее обновление 09.06.2025 — Алёна Кузнецова

  • Чтобы создать сценарий Winget для установки и обновления приложений в Windows 11, используйте пакетный файл со списком идентификаторов приложений.
  • Скрипт проверяет, если каждое приложение установлено. Если нет, он устанавливает его, и если это так, он проверяет обновления и устанавливает их.
  • Вы можете запустить сценарий вручную, из папки запуска или в качестве запланированной задачи.

В Windows 11 вы можете создать простой сценарий для автоматической загрузки, установки и обновления ваших любимых приложений каждый раз, когда начинается система, и в этом руководстве я покажу вам, как именно это сделать.

Как человек, который много работает с виртуальными машинами для тестирования приложений, настроек и конфигураций, я постоянно переустанавливаю операционную систему, чтобы обеспечить чистую среду. Одна из самых трудоемких частей процесса-вручную переустановить все основные приложения, на которые я полагаюсь каждый день.

Чтобы решить это, я обратился к Windows Package Manager (Winget), инструменту командной строки Microsoft для управления приложениями. Это быстро и надежно, но я хотел что-то еще больше. Итак, я создал пользовательский сценарий, который работает автоматически при запуске. Он выполняет две задачи:

  • Если приложение не установлено, сценарий устанавливает его.
  • Если приложение уже установлено, оно проверяет обновления и устанавливает их, когда будет доступно.

В этом руководстве я намечу шаги по созданию и использованию этого сценария. Независимо от того, являетесь ли вы разработчиком, сетевым администратором или пользователем питания, который стремится сэкономить время, этот метод поможет вам упростить развертывание приложений и настройку системы в Windows 11.

Создайте скрипт Winget для установки и обновления приложений в Windows 11

Это трехэтапный процесс. Во -первых, вы должны создать список всех приложений, которые вы хотите на вашем компьютере, затем вы должны генерировать сценарий, и вы должны решить, как запустить сценарий.

По теме:  Как изменить порядок отображения меню загрузки в Windows 11, 10

Создайте список приложений

Чтобы создать список приложений для установки и обновления с помощью Winget, выполните следующие действия:

  1. Открытый старт.

  2. Поиск командной строки (или терминала), щелкните правой кнопкой мыши верхний результат и выберите опцию запуска в качестве администратора.

  3. Введите следующую команду, чтобы найти идентификационный номер приложения и нажмите Enter:

    winget search APP-NAME

После того, как вы выполните шаги, команда выведет приложения, которые соответствуют запросу. Обычно вы хотите использовать одно слово, которое помогает вам найти приложение. Если имя имеет пространство, используйте «кавычки». В противном случае поиск не будет работать.

Кроме того, если вы используете цитату, вы сообщите приложению поиск точного совпадения, поэтому убедитесь, что запрос правильный. (Это не поисковая система.)

Например, если я хочу найти информацию Winget для приложения «VLC», я использую команду VLC поиска Winget.

Повторите шаги и обратите внимание на значение идентификатора для каждого приложения, так как вам понадобится эта информация, чтобы создать пользовательский сценарий.

Создать сценарий Вингте

Чтобы создать пакетный файл для установки и обновления приложений, выполните следующие действия:

  1. Открытый старт.

  2. Поиск блокнота и нажмите на верхний результат, чтобы открыть приложение.

  3. Скопируйте и вставьте следующий код в текстовый файл:

    @echo off
    setlocal enabledelayedexpansion
    
    :: List of application IDs
    set apps=Microsoft.WindowsTerminal.Preview Microsoft.Edge.Dev Microsoft.PowerToys
    
    for %%A in (%apps%) do (
        echo ---------------------------------------
        echo Processing %%A...
        
        :: Check if the app is installed by capturing the list output
        winget list --id %%A > temp_check.txt 2>&1
    
        findstr /C:"No installed package found" temp_check.txt >nul
        if !errorlevel! equ 0 (
            echo %%A not installed. Installing...
            winget install --id %%A --silent --accept-source-agreements --accept-package-agreements
        ) else (
            echo %%A is installed. Attempting upgrade...
            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
    
  4. В разделе «Set Apps =» аннотируйте приложения, которые вы хотите установить и обновить на своем компьютере, и используйте пространство для разделения каждого приложения.

    Быстрое примечание: я включаю три примера в эту строку, но не забудьте обновить этот раздел, чтобы включить ваши приложения.

  5. Нажмите на файл и выберите опцию «Сохранить как».

  6. Выберите место для хранения файла.

    Быстрый совет: если вы используете OneDrive, вы можете загрузить файл в облако, чтобы у вас был доступ к сценарию со всех ваших компьютеров.

  7. Подтвердите имя для скрипта и используйте расширение файла .bat.

  8. Нажмите кнопку Сохранить.

После выполнения шагов вы можете запустить скрипт вручную, щелкнув правой кнопкой мыши файл «.bat» и используя опцию «Запустить как администратор», или вы можете создать триггер для автоматического запуска пакетного файла.

Вот подробный разбивку сценария партии и то, как работает каждая часть:

Начальная настройка

  • @echo off подавляет команду эхом.
  • setlocal enabledelayedexpansion Включает «расширение с задержкой переменной», чтобы можно было получить переменные в рамках скобок в режиме реального времени, используя !VAR! вместо %VAR%Полем

Определяет список приложений

  • set apps = Определяет список идентификаторов приложения Winget для обработки в цикле.

Просмотреть каждое приложение

  • for %%A in (%apps%) do () Для каждого идентификатора (%%A) В списке приложений прилагаемые команды работают последовательно.

Проверьте установку приложения

  • winget list пишет вывод temp_check.txt Потому что командный инструмент не имеет возможности проверить, уже установлено ли приложение.
  • findstr Поиск этого файла для фразы «Не найдено установленного пакета». Это устанавливается ERRORLEVEL до 0, если найдено, иначе 1.
  • !errorlevel! Помогает получить правильный код ошибки внутри цикла.

Установить или обновить приложение

  • Если приложение не установлено (errorlevel = 0), бегать winget installПолем
  • Если он установлен, запустите winget upgradeи по неудаче (errorlevel ≠ 0) сообщить, что обновление не удалось или не было обновление.

Чистый и прекращение сценария

  • del Удаляет временный файл.
  • endlocal Восстанавливает предварительную среду, положив конец отложенному расширению.

Установите сценарий

У вас есть три варианта запуска пакетного сценария. Вы можете запустить его вручную, добавить его в папку «запуск», чтобы система автоматически запускала ее каждый раз, когда входите в свою учетную запись, или вы можете создать запланированную задачу с планировщиком задач.

Вручную

Если вы хотите запустить сценарий вручную, выполните эти шаги:

  1. Щелкните правой кнопкой мыши файл «.BAT» и выберите опцию запустить как администратор.

Вы также можете запустить его непосредственно через командную строку или PowerShell.

Этот вариант идеально подходит для тестирования или случайного использования, но каждый раз требует ручного посвящения.

Добавить в папку запуска

Чтобы автоматически запустить скрипт из папки «запуска», выполните следующие действия:

  1. Открытый старт.

  2. Поиск запуска и нажмите верхний результат, чтобы открыть приложение.

  3. Введите следующую команду, чтобы открыть папку и нажмите Enter:

    shell:startup

  4. Скопируйте и вставьте ярлык для файла .bat в папку.

После того, как вы выполните шаги, сценарий будет работать каждый раз, когда вы входите в систему.

Эта опция легко настроить, но работает только при входе пользователя, а не в системной загрузке. Кроме того, вам придется подтвердить установку для каждого приложения, которое требует высоты.

Создать запланированную задачу

Чтобы создать запланированную задачу для запуска сценария Вингте, выполните следующие действия:

  1. Открытый старт.

  2. Поиск планировщика задач и нажмите верхний результат, чтобы открыть приложение.

  3. (Необязательно) Щелкните правой кнопкой мыши папку «Библиотека планировщиков задач» и выберите новую опцию папки.

  4. Подтвердите имя для папки — например, мои задачи.

  5. Щелкните правой кнопкой мыши папку «Мои задачи» и нажмите параметр «Создать задачу».

  6. Нажмите на вкладку General.

  7. В поле «Имя» введите описательное имя для задачи, например, «Мои приложения».

  8. Выберите опцию «Запустить независимо от того, зарегистрирован ли пользователь или нет» в разделе «Параметры безопасности».

  9. Проверьте опцию «Запустить с высочайшими привилегиями».

  10. Нажмите на вкладку Triggers.

  11. Нажмите новую кнопку.

  12. Выберите триггер (например, «в входе в систему», «При запуске» или в таком графике, как ежедневно) в рамках настройки «начать задачу».

  13. Настройте настройки расписания по мере необходимости.

    Быстрое примечание: для простоты вы можете выбрать опцию «At Startup».

  14. Нажмите кнопку ОК.

  15. Нажмите на вкладку «Действия».

  16. Нажмите новую кнопку.

  17. Выберите параметр «Начать программу» в настройке «Действия».

  18. В настройке «Program/Script» введите следующую команду:

    cmd.exe

  19. В настройке «Добавить аргументы (необязательно)» введите следующую команду:

    /c "C:\path\to\YOUR-SCRIPT.bat"
  20. Нажмите кнопку ОК.

  21. Нажмите на вкладку «Условия».

  22. Под «питание» очистите «Остановиться, если компьютер переключается на питание от батареи» и «запустите задачу только в том случае, если компьютер находится на опциях питания переменного тока».

  23. Нажмите кнопку ОК.

  24. Подтвердите пароль для вашей учетной записи.

  25. Нажмите кнопку ОК.

После того, как вы выполните шаги, в указанном графике будет создана точка восстановления системы.

Предыдущая статьяКак изменить цвет указателя мыши на Windows 11
Следующая статьяЭлден Кольцо: Расположение Абиссала и прохождение
Алёна Кузнецова
Проработав более десяти лет писателем, Алёна сначала основала свой собственный академический игровой сайт, а затем присоединилась к команде этого сайта. Будучи сторонником критического академического изучения игр и получив степень магистра литературы и культуры со специализацией в области цифровых технологий, она надеется продвинуться в этой области и вдохновить других присоединиться к разговору. Хорошо разбирается в технологиях.