winget可一键安装并升级软件,但安装与升级须分步执行;需以管理员身份运行终端验证版本、激活组件、配置国内源,再通过批处理静默安装指定软件并升级全部兼容程序。

你想在 Windows 11 上跳过一个个下载安装包、点下一步、等进度条的繁琐流程,用一条命令就把常用软件全部装好、再自动升级到最新版——winget 能直接做到,但必须分清“安装”和“升级”是两个独立动作,不能混为一谈。
确认 winget 已就绪
按下 Win + X → 选择【Windows 终端(管理员)】→ 输入 winget --version 并回车。如果返回类似 v1.8.21211 的版本号,说明已可用;若提示“不是内部或外部命令”,需手动激活。
在同个终端中执行:Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe → 关闭终端再重开,再次运行 winget --version 验证。
【注意:这一步必须以管理员身份运行,普通权限无法注册组件】
批量安装一批指定软件
先确定你要装哪些软件。比如想装 Git、Firefox、7-Zip,就得先查它们的准确包 ID:
winget search git → 找到 Git.Git;winget search firefox → 找到 Mozilla.Firefox;winget search 7zip → 找到 7zip.7zip。
新建一个文本文档,重命名为 install.bat,用记事本打开,粘贴以下内容:
@echo off<br>winget install --id=Git.Git -e --silent --accept-package-agreements<br>winget install --id=Mozilla.Firefox -e --silent --accept-package-agreements<br>winget install --id=7zip.7zip -e --silent --accept-package-agreements
保存后,右键该文件 → 【以管理员身份运行】。每行命令会依次静默安装,不弹窗、不卡顿、不等待人工点击。
一键升级所有已安装的第三方软件
winget 的 upgrade 功能只作用于它自己安装或能识别的软件,不会动你从官网下载的 exe 安装包、MSI 手动装的程序,也不会升级微软商店里用 GUI 点开装的应用(除非是 winget catalog 里收录的 Store 版本)。
第一步:确保你用的是国内可用源。在管理员终端中依次执行:
winget source remove wingetwinget source add winget https://mirrors.ustc.edu.cn/winget-sourcewinget source update
第二步:运行升级命令:
winget upgrade --all --silent --accept-package-agreements --accept-source-agreements
这条命令会自动比对本地已装软件与源中最新版本,跳过无法匹配的条目,逐个下载、校验、安装。失败项会报错并继续下一个,全程无需干预。
【关键前提:必须以管理员身份运行,否则多数升级会因权限不足而失败】
把安装+升级合并成一次操作
方法一:写进同一个批处理文件
新建 setup-all.bat,内容如下:
@echo off<br>winget install --id=Git.Git -e --silent --accept-package-agreements<br>winget install --id=Mozilla.Firefox -e --silent --accept-package-agreements<br>winget install --id=7zip.7zip -e --silent --accept-package-agreements<br>winget upgrade --all --silent --accept-package-agreements --accept-source-agreements
方法二:先装再升,但加延迟防冲突
某些软件安装完立刻升级可能因进程未退出导致失败。可在 install 命令后加一句:timeout /t 5 >nul,让脚本暂停 5 秒再执行 upgrade。
保存文件,右键 → 【以管理员身份运行】。











