系统之家 - 系统光盘下载网站!

当前位置:系统之家 > IT快讯 > 详细页面

教你使用 WinGet 脚本自动安装和更新应用

编辑:alear 2025-06-10 14:12:48 来源于:ithome

  系统之家 6 月 10 日消息, Windows 11 系统中如何通过 winget 脚本实现自动安装和更新应用。整个过程可以划分为三步,用户首先创建一份包含您希望安装在电脑上的所有应用的列表,然后生成脚本,最后决定如何运行脚本。

  一. 实现的效果

  通过 winget 脚本可以自动实现以下效果,可以设置为开机启动项,执行以下两项任务:

  如果应用未安装,通过脚本自动安装。

  如果应用已安装,脚本会检查是否有更新,并在检测到有更新后自动安装。

  二生成应用列表

  要创建一个使用 winget 安装和更新的应用列表,系统之家附上操作步骤如下:

  1. 打开开始菜单

  2. 搜索命令提示符(或终端),右键点击顶部结果,并选择以管理员身份运行选项。

  3. 输入以下命令以查找应用程序标识号,然后按回车键:

  1. 01winget search-NAME
复制代码
winget search-NAME
  完成这些步骤后,命令将输出符合查询条件的应用程序。通常情况下,用户会希望使用一个单一的词来帮助您找到该应用程序。如果名称中包含空格,请使用 "引号"。

  例如,如果用户想查找“VLC”应用程序的 winget 信息,可以使用 winget search vlc 命令,重复这些步骤并记录每个应用程序的 ID 值。

教你使用 WinGet 脚本自动安装和更新应

 

  三创建 winget 脚本

  要创建一个用于安装和更新应用程序的批处理文件,请按照以下步骤操作:

  1. 打开开始菜单。

  2. 搜索记事本并点击顶部结果以打开应用程序。

  3. 将以下代码复制并粘贴到文本文件中:

  1. 01@echo off
  2. 02setlocal enabledelayedexpansion
  3. 03:: List of application IDs
  4. 04set apps=Microsoft.WindowsTerminal.Preview Microsoft.Edge.Dev Microsoft.PowerToys
  5. 05for %%A in (%apps%) do (
  6. 06echo ---------------------------------------
  7. 07echo Processing %%A...
  8. 08:: Check if the app is installed by capturing the list output
  9. 09winget list --id %%A > temp_check.txt 2>&1
  10. 10findstr /C:"No installed package found" temp_check.txt >nul
  11. 11if !errorlevel! equ 0 (
  12. 12echo %%A not installed. Installing...
  13. 13winget install --id %%A --silent --accept-source-agreements --accept-package-agreements
  14. 14) else (
  15. 15echo %%A is installed. Attempting upgrade...
  16. 16winget upgrade --id %%A --silent --accept-source-agreements --accept-package-agreements
  17. 17if !errorlevel! neq 0 (
  18. 18echo Upgrade failed for %%A or no update available.
  19. 19)
  20. 20)
  21. 21echo.
  22. 22)
  23. 23del temp_check.txt >nul 2>&1
  24. 24endlocal
复制代码
@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. 选择存储文件的位置。

  7. 为脚本确认一个名称,并使用 .bat 文件扩展名。

教你使用 WinGet 脚本自动安装和更新应

  8. 点击保存。

  四设置 winget 脚本

  这里有 3 种 winget 运行方面,第一种就是每次都手动点击运行,第二种就是当作开机项使用,第三种就是创建定时任务。

  4.1手动运行

  1.右键点击 ".bat" 文件并选择以管理员身份运行选项。用户也可以直接通过命令提示符或 PowerShell 运行它。

教你使用 WinGet 脚本自动安装和更新应

  4.2添加到开机启动文件夹

  1. 打开开始菜单。

  2. 搜索“Run”并点击顶部结果以打开应用程序。

  3. 输入“shell:startup”命令以打开文件夹,然后按回车键:

教你使用 WinGet 脚本自动安装和更新应

  4. 将 .bat 文件的快捷方式复制并粘贴到文件夹中。

教你使用 WinGet 脚本自动安装和更新应

 

  4.3创建定时任务

  1. 打开开始菜单。

  2. 搜索任务计划程序,并点击顶部结果以打开应用程序。

  3. (可选) 右键单击 "任务计划程序库" 文件夹,并选择 "新建文件夹" 选项。

  4. 为文件夹确认一个名称 —— 例如,我的任务。

教你使用 WinGet 脚本自动安装和更新应

  5. 右键单击 "我的任务" 文件夹,然后点击创建任务选项。

  6. 点击 "常规" 选项卡。

  7. 在 "名称" 字段中,为任务输入一个描述性名称,例如 "我的应用"。

教你使用 WinGet 脚本自动安装和更新应

  8. 在 "安全选项" 部分选择 "无论用户是否登录都运行" 选项。

  9. 勾选 "以最高权限运行" 选项。

  10. 点击触发选项卡

  11. 点击新建按钮。

  12. 在 "开始任务" 设置下选择一个触发器(例如 "登录时"、"启动时" 或按日程安排如每天)

教你使用 WinGet 脚本自动安装和更新应

  13. 根据需要配置日程设置。

  14. 点击确定按钮。

  15. 点击 "操作" 选项卡。

  16. 点击 "新建" 按钮。

  17. 在 "操作" 设置下选择 "启动程序" 选项。

  18. 在 "程序 / 脚本" 设置中,输入“cmd.exe”命令:

  19. 在 "添加参数(可选)" 设置中,输入以下命令:/c "C:\path\to\YOUR-SCRIPT.bat(这里修改为 bat 文件路径)"

教你使用 WinGet 脚本自动安装和更新应

以上图源均来自pureinfotech

  20. 点击确认按钮。

  21. 点击 "条件" 选项卡。

  22. 在 "电源" 下,取消勾选 "如果计算机切换到电池电源则停止" 和 "仅在计算机使用交流电源时启动任务" 选项。

  23. 点击确定按钮。

  24. 确认账户的密码。

  25. 点击确定按钮。

  以上是系统之家提供的最新资讯,感谢您的阅读,更多精彩内容请关注系统之家官网

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

扫码关注
扫码关注

抖音号
抖音号

官方交流群 软件收录