如何通过CMD/PowerShell安装Win10应用商店应用(支持Python脚本调用)
当然可以实现!
完全没问题——你可以通过PowerShell(更推荐,功能更全)或者CMD来安装Microsoft Store的应用,然后在Python脚本里调用这些命令,轻松实现格式化后自动部署的需求。下面给你详细拆解步骤:
一、用PowerShell安装应用商店应用的两种常用方式
1. 使用Winget(推荐,Windows官方包管理器)
Winget现在是Windows自带的包管理工具(Windows 11默认预装,Windows 10可通过Microsoft Store安装),它支持直接从Microsoft Store下载并安装应用,非常适合你的自动化场景。
比如要安装应用商店版微信,命令是:
winget install Tencent.WeChat
你可以先在本地用winget search <应用名>找到对应应用的官方ID,比如搜索微信就用winget search wechat,复制返回的ID即可直接使用。
2. 使用Add-AppxPackage(适合本地离线包安装)
如果你提前下载了应用的.appx/.msix安装包,或者有离线部署需求,可以用Add-AppxPackage命令:
Add-AppxPackage -Path "C:\Path\To\Your\AppPackage.msix"
不过这种方式需要提前准备好安装包,灵活性不如Winget,所以更推荐前者。
二、在Python脚本中调用这些命令
Python的subprocess模块可以轻松调用PowerShell/CMD命令,下面是一个实用的示例:
import subprocess import sys def install_app_with_winget(app_id): try: # 调用winget命令,通过PowerShell执行,静默安装无弹窗 result = subprocess.run( ["powershell", "-Command", f"winget install {app_id} --silent --accept-package-agreements"], check=True, capture_output=True, text=True ) print(f"✅ 成功安装应用 {app_id}") except subprocess.CalledProcessError as e: print(f"❌ 安装应用 {app_id} 失败:{e.stderr}", file=sys.stderr) # 示例:批量安装微信、QQ和Edge浏览器 if __name__ == "__main__": apps_to_install = ["Tencent.WeChat", "Tencent.QQ", "Microsoft.Edge"] for app in apps_to_install: install_app_with_winget(app)
关键注意事项:
- 管理员权限:部分应用安装需要管理员权限,你可以右键以管理员身份运行Python脚本,或者在脚本中添加提权逻辑(比如用
ctypes调用Windows API请求管理员权限)。 - Winget兼容性:刚格式化的Windows 10可能没有预装Winget,你可以在脚本里先检查Winget是否存在,不存在的话先通过Microsoft Store安装(或者用命令行静默安装Winget包,不过步骤稍复杂)。
- 静默参数:示例中加了
--silent和--accept-package-agreements,能让安装全程后台进行,自动同意协议,完美适配自动化场景。
三、额外高效小技巧
你可以先在正常系统里用winget export -o apps_list.json导出已安装的应用列表,格式化后直接用winget import -i apps_list.json批量安装,不用手动逐个写应用ID,效率拉满!
内容的提问来源于stack exchange,提问作者lugiank




