winget 是 Windows 11/10 官方的命令行包管理器,你可以把“搜索软件-下载-下一步下一步”变成可复用的命令。它最适合两种场景:①新电脑初始化;②每隔一段时间把常用软件统一升级一遍。
打开 Windows Terminal / PowerShell,先跑:
winget --version如果能看到版本号,说明可用。若提示找不到命令,通常与“应用安装程序(App Installer)”有关。你可以先去 Microsoft Store 搜索并更新 App Installer,更新后重开终端再试一次。
winget 的关键是确认包 ID(避免同名软件装错):
winget search chrome winget search vscode winget search 7zip在结果里找到你想要的那一行,记住它的 Id(例如 Google.Chrome、Microsoft.VisualStudioCode 之类)。
安装时建议优先用 --id 精确匹配,并加上静默/同意协议,减少交互:
winget install --id Google.Chrome -e --accept-source-agreements --accept-package-agreements winget install --id Microsoft.VisualStudioCode -e --accept-source-agreements --accept-package-agreements winget install --id 7zip.7zip -e --accept-source-agreements --accept-package-agreements说明:-e 表示精确匹配(exact)。如果安装过程中弹出 UAC 提示,这是正常的系统权限确认,不建议关闭。
当你装的软件多了,“统一升级”会非常爽:
winget upgrade先查看有哪些可升级,再执行:
winget upgrade --all --accept-source-agreements --accept-package-agreements如果你只想升级某一个包,也可以用:
winget upgrade --id Microsoft.PowerToys -e建议你维护一个“常用软件清单”,每次换电脑只要跑一次脚本。示例(可按需增删):
$apps = @( "Google.Chrome", "Microsoft.VisualStudioCode", "7zip.7zip", "Microsoft.PowerToys", "Notepad++.Notepad++" ) foreach ($id in $apps) { winget install --id $id -e --accept-source-agreements --accept-package-agreements }如果你不想每次都写数组,也可以直接逐行写多条 winget install,清晰直观。
你可以把“升级全部软件”的命令做成桌面快捷方式/脚本按钮(例如命名为“软件更新”),需要维护时点一下就行:
winget upgrade --all --accept-source-agreements --accept-package-agreements如果你想更自动化,也可以用 Windows 自带的任务计划程序定期执行这个命令。但出于稳妥考虑,建议先手动跑几次,确认不会影响工作流后再做定时。
1)同名软件装错:优先用 --id + -e,不要只写软件名。
2)部分软件升级失败:可能是软件正在运行,先退出软件再升级。
3)公司电脑策略限制:如果安装被策略阻止,按公司 IT 规范处理,不建议强行绕过。
4)源差异:有些包来自不同源,升级/安装前最好读一眼提示,确认是你预期的软件。
当你把常用软件清单固定下来,winget 的价值会越来越明显:新电脑初始化、重装系统、甚至帮朋友装机,都能做到“可复制、可回滚、可维护”。建议先从 5-10 个最常用的软件开始,逐步扩充清单。