方案一:

方案二:(打开cmd)
1.软件导出:
一条电脑软件导出命令,导出所有已安装软件清单到桌面:
导出为 JSON(适合以后导入重装)
bash
winget export -o "%USERPROFILE%\Desktop\installed_apps.json"
导出为 TXT 列表(方便查看)
bash
winget list > "%USERPROFILE%\Desktop\installed_apps.txt"
简单说明
%USERPROFILE%\Desktop= 你的桌面installed_apps.json是文件名,可自己改- JSON 格式 :以后可以用
winget import一键装回所有软件 - TXT 格式:只是纯文本清单,不能导入
bash
C:\Users\用户名>winget export -o "%USERPROFILE%\Desktop\installed_apps.json"
"msstore"源要求在使用前查看以下协议。
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
源要求将当前计算机的 2 个字母的地理区域发送到后端服务才能正常工作,(例如"US")。
是否同意所有源协议条款?
[Y] 是 [N] 否:
当遇到上述 winget 导出时的微软商店源协议确认提示,这是正常现象,解决方法和优化命令:
1. 临时解决(手动确认)
在提示后输入 Y 并回车,就能继续导出:
bash
[Y] 是 [N] 否: Y
回车后,JSON 文件会自动生成到桌面。
2. 永久解决(跳过确认,一键导出)
用 --accept-source-agreements 参数跳过协议确认,以后导出 / 导入都不会再弹这个提示:
bash
winget export -o "%USERPROFILE%\Desktop\installed_apps.json" --accept-source-agreements
3. 进阶:只导出 winget 源软件(跳过微软商店,更快)
如果不想包含微软商店的软件,可指定仅导出 winget 源,避免地理区域 / 协议提示:
bash
winget export -o "%USERPROFILE%\Desktop\installed_apps.json" --source winget --accept-source-agreements
📌 关键说明
--accept-source-agreements:自动同意所有源的协议条款,无需手动输入 Y/N--source winget:仅导出 winget 源的软件(排除微软商店),导出速度更快- 导出的 JSON 文件:包含软件名称、版本、源信息,后续可直接用
winget import一键重装
验证是否导出成功
导出完成后,去桌面看是否有 installed_apps.json 文件,打开能看到软件清单就是成功了。
2.软件导入:
换电脑 / 重装系统后,一条命令恢复所有软件。
1. 导出(你刚才用过的,一键无弹窗)
bash
winget export -o "%USERPROFILE%\Desktop\installed_apps.json" --accept-source-agreements
2. 导入(新电脑一键装回所有软件)
把桌面上的 installed_apps.json 放到新电脑桌面,然后运行:
bash
winget import -i "%USERPROFILE%\Desktop\installed_apps.json" --accept-source-agreements --accept-package-agreements
解释(不用管,直接用)
--accept-source-agreements:接受源协议--accept-package-agreements:接受每个软件许可协议- 全程全自动安装,不用点 "下一步"
小提醒
- 只恢复 winget 能识别的软件
- 驱动、绿色软件、老版破解软件不会包含
- 导入时保持网络畅通
3.导出 / 导入指定软件:
最简单、最实用 的方法:只导出 / 导入指定的几个软件,不导出一大堆没用的。
1. 先看你有哪些软件能被 winget 管理
bash
winget list
会列出一堆软件,找到你想要的那几个名字。
2. 只导出「你指定的软件」
用法:
bash
winget export -o 桌面路径 --include 软件1 --include 软件2 ...
直接给你能复制的完整命令(示例)
比如你只想导出:
- PowerToys
- Files
- Chrome
就用这条:
bash
winget export -o "%USERPROFILE%\Desktop\my_apps.json" ^
--include "PowerToys" ^
--include "Files" ^
--include "Google Chrome" ^
--accept-source-agreements
想加更多软件,就继续加:
bash
--include "软件名"
3. 只导入「你指定的那几个软件」
bash
winget import -i "%USERPROFILE%\Desktop\my_apps.json" ^
--accept-source-agreements ^
--accept-package-agreements
它只会安装你选的那几个,不会乱装。
超实用小技巧(你一定会用到)
不想导出某个软件?用 --exclude
bash
winget export -o "%USERPROFILE%\Desktop\clean_apps.json" ^
--exclude "Windows Web Driver" ^
--exclude "Microsoft Edge" ^
--accept-source-agreements