如何从命令行、PowerShell或运行对话框启动UWP应用?
如何从命令行、PowerShell或运行对话框启动UWP应用?
嗨,我来给你分享几种实用的方法,轻松从命令行、PowerShell或者运行对话框启动你找到的那些UWP应用~
首先,你需要知道每个UWP应用对应的PackageFamilyName和ApplicationId——这俩是启动应用的关键信息。不过别担心,我会教你怎么快速拿到它们,还有直接能用的命令示例。
一、先获取应用的关键信息(PowerShell中操作)
如果你不确定目标应用的PackageFamilyName和ApplicationId,打开PowerShell运行下面的命令:
比如要查Microsoft.Windows.PeopleExperienceHost:
Get-AppxPackage Microsoft.Windows.PeopleExperienceHost | Select-Object PackageFamilyName, InstallLocation
这会返回应用的PackageFamilyName,以及安装路径。如果还需要ApplicationId,接着运行:
Get-AppxPackage Microsoft.Windows.PeopleExperienceHost | ForEach-Object { Get-Content "$($_.InstallLocation)\AppxManifest.xml" | Select-Xml -XPath "//*[local-name()='Application']/@Id" | Select-Object -ExpandProperty Node }
这样就能直接拿到ApplicationId啦。
二、三种场景下的启动方法
1. PowerShell中启动
有两种简单方式:
- 方式一:直接用
start命令调用shell协议(最通用)
比如启动Microsoft.Windows.PeopleExperienceHost:
start shell:AppsFolder\Microsoft.Windows.PeopleExperienceHost_cw5n1h2txyewy!PeopleExperienceHost
启动Microsoft.ZuneMusic:
start shell:AppsFolder\Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic
- 方式二:一键自动获取信息并启动(偷懒神器)
如果不想手动查ID,直接运行下面的命令,把*PeopleExperienceHost*换成你要启动的应用名称即可:
Get-AppxPackage *PeopleExperienceHost* | ForEach-Object { $appId = (Get-Content "$($_.InstallLocation)\AppxManifest.xml" | Select-Xml -XPath "//*[local-name()='Application']/@Id").Node.Value Start-Process "shell:AppsFolder\$($_.PackageFamilyName)!$appId" }
2. 命令提示符(CMD)中启动
和PowerShell里的start命令用法一样,直接在CMD里输入:
比如启动Microsoft.ZuneMusic:
start shell:AppsFolder\Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic
启动Microsoft.Windows.PeopleExperienceHost:
start shell:AppsFolder\Microsoft.Windows.PeopleExperienceHost_cw5n1h2txyewy!PeopleExperienceHost
3. 运行对话框(Win+R)中启动
按下Win+R打开运行对话框,直接输入下面的字符串回车就行:
- 启动
Microsoft.Windows.PeopleExperienceHost:shell:AppsFolder\Microsoft.Windows.PeopleExperienceHost_cw5n1h2txyewy!PeopleExperienceHost - 启动
Microsoft.ZuneMusic:shell:AppsFolder\Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic
备注:内容来源于stack exchange,提问作者Remus Rigo




