Command line 从命令行在Metro应用程序中打开文件

Command line 从命令行在Metro应用程序中打开文件,command-line,windows-8,microsoft-metro,command-line-arguments,windows-10,Command Line,Windows 8,Microsoft Metro,Command Line Arguments,Windows 10,我需要一种从命令行在Metro应用程序中打开文件的方法 到目前为止,我已经知道如何在没有任何第三方脚本的情况下从命令行启动应用程序 explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader 但是我还没有弄清楚如何包含一个文件名 发射 explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader example.pdf

我需要一种从命令行在Metro应用程序中打开文件的方法

到目前为止,我已经知道如何在没有任何第三方脚本的情况下从命令行启动应用程序

explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader
但是我还没有弄清楚如何包含一个文件名

发射

explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader example.pdf
只需打开一个默认的资源管理器窗口

Windows 8专家对如何在不使用任何第三方工具/cmdlet等的情况下实现这一点有何想法


注意:事实上我使用的是Windows 10,但我想如果有Windows 8/8.1的方法,它也适用于10。

如果应用程序是默认处理程序,那么您可以启动文件或协议。没有一种好的收件箱方式可以从命令行将文件启动到非默认处理程序中

Windows应用商店应用程序不是设计为从命令行运行的,也没有直接的方法从命令行启动它们。处理特定文件或协议的应用程序通过或而不是命令行参数接收这些文件或协议


您可以将使用CLSID_ApplicationActivationManager的启动程序应用程序写入特定应用程序。

如果您仍在寻找答案,在metro应用程序中打开文件的最佳方法是像普通应用程序协议一样使用执行字符串。执行字符串如下所示:

bingnews:[arguments, can be left blank.]
microsoftvideo:[arguments, can be left blank.]
netflix:[arguments, can be left blank.]
因此,要启动netflix,只需在命令行中键入
start netflix:

要查找应用程序的执行字符串,请转到此处:控制面板\Programs\Default Programs\Set Associations


更多信息和例子可以在这里找到


请注意:要打开没有协议的应用程序(未在注册表或“设置关联”下列出的应用程序),请使用OP的方法:

explorershell:AppsFolder\[appuid]![appfullname]

应用程序UID是不带版本号的文件夹名称。比如说,

4DF9E0F8.Netflix 2.11.0.8

变成

4DF9E0F8.Netflix_mcm4njqhnhs8

应用程序全名是
[app author].[app name]
例如
4DF9E0F8.Netflix
。4DF9E0F8是作者,Netflix是名字

把它们放在一起


explorershell:AppsFolder\4DF9E0F8.Netflix_mcm4njqhnhss8!4DF9E0F8.Netflix应用商店应用程序只能由shell启动。所以试试这个:

explorer.exe shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
或从运行(Win+R)开始:


不确定它是否适用于Windows 8,但在Windows 10上,我使用以下方法:

cmd /C start <app-name>:

我可以使用“start path/to/file.pdf”启动它,但这会在较旧的系统上打开一个命令提示符。这与我想要的非常接近,只是我如何知道metro风格的应用程序是否是默认的,因此如何使用此方法?要了解更多关于协议的信息,以及哪个应用程序将按特定协议打开,请打开
设置
,选择
系统
,单击侧栏上的
默认应用
选项卡,向下滚动直到找到
按协议选择默认应用
cmd /C start <app-name>:
cmd /C start slack: