使用Winget的导出和导入命令快速重建Windows环境
如果你曾经设置过新的Windows PC或在现有电脑上重新安装Windows,你就会知道这是一个繁琐的过程。寻找安装程序、点击安装向导,然后重新设置每个程序——所有这些都让Windows设置变得非常麻烦。幸运的是,Windows有一个隐藏技巧。一些Winget技巧可以改变你使用PC的方式,也能让Windows设置变得轻松。
创建Winget软件快照
Winget不仅仅是一个安装工具。它本质上是你的软件设置的时间机器。你可以通过单个命令创建所有已安装应用程序的JSON快照。然后,你可以在同一台或不同的计算机上使用另一个命令来重新安装所有这些程序。
创建快照需要使用导出命令。以下是需要运行的命令:
|
|
就这样。这个命令将在你指定的位置创建一个JSON文件,其中包含Winget可以在系统上管理的每个应用程序。--accept-source-agreements
标志自动处理许可协议,以避免重新安装过程中的任何问题。
Winget只导出其存储库中可用的应用程序。这意味着你的导出中不会包含旧版或有问题的软件——只有干净、可管理的包,可以可靠地重新安装。这样做的缺点是,你的一些程序可能不会被包含在内,必须手动重新安装。这通常包括从Microsoft Store下载的任何应用程序和几个企业应用程序。近年来,Winget的覆盖范围急剧扩大,包括了大多数主流应用程序,但你仍然可能需要自己获取一些应用程序。
生成的JSON文件非常易读,并遵循清晰的模式,列出包标识符、源信息和每个程序的元数据。正如你可能猜到的,可以手动编辑文件以进一步自定义安装列表。这意味着你只需要创建一次快照。以后可以根据你的要求添加或删除任何程序。
用单个命令重建Windows
当需要重建Windows安装时,只需将JSON导出文件移动到当前或新计算机上的可访问位置,并运行以下命令:
|
|
Winget将立即开始从导出文件下载并安装每个应用程序。--ignore-versions
标志确保你获得程序的最新版本,而不是创建导出文件时保存的版本。此外,--accept-package-agreements
和--accept-source-agreements
代表你接受任何协议,在安装过程中不需要输入。
这已成为我快速设置新Windows机器或克隆安装的标准程序。它在不同的机器上也相当一致,到目前为止,我尝试的所有安装都没有失败。应用程序以其默认配置出现,随时可以使用。
网络超时可能会中断较大的导入,但Winget通过跳过失败的安装并继续下一个来处理这种情况。在这种情况下,你可以再次运行导入命令,Winget将获取第一次运行中未能安装的任何应用程序。
最后但同样重要的是,你有时可能会遇到某些安装程序的权限问题。修复这个问题就像从管理员级别的命令提示符或PowerShell窗口运行导入命令一样简单。
高级用户的优化
虽然基本的导入和导出命令将完成大部分工作,但你可以进一步优化Winget以添加一些额外功能。例如,如果你需要特定版本的快照,可以在导入命令中包含--include-versions
标志。
如前所述,导入命令创建的JSON文件可以手动编辑。但是,你也可以通过手动编辑或使用PowerShell来合并多个JSON文件。这让你可以创建模块化设置,其中一个JSON包含基础应用程序,而其他JSON包含用于特定目的的额外程序。
最后,Winget命令与PowerShell脚本完美集成。这意味着你可以编写脚本,定期进行导出,以确保在手头有最新的快照,以防出现问题。同样的逻辑延伸到部署脚本,你可以用几行代码自动化整个PC设置。
Winget是正确选择
使用Winget改变了我对Windows设置的看法。该工具使软件安装成为例行程序,如果需要,还可以成为自动化任务,考虑到以前这是多么繁琐的工作,这是一个很大的帮助。我可以在几分钟而不是几小时内启动与当前Windows安装相同的虚拟机,或在全新的机器上立即投入工作。
我有时在Windows笔记本电脑的年度维护过程中进行干净的Windows安装,Winget使这个过程比以前容易得多。