我需要一种从命令行在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。
如果你还在寻找答案,最好的办法 在metro应用程序中打开文件 是使用像普通应用程序协议那样的执行字符串。执行字符串如下所示:
bingnews:[arguments, can be left blank.]
microsoftvideo:[arguments, can be left blank.]
netflix:[arguments, can be left blank.]
所以,要启动netflix,它就像输入一样简单 Start netflix:
进入命令行。
要查找应用程序的执行字符串,请转到此处:控制面板\程序\默认程序\设置关联
可在此处找到更多信息和示例。
http://windowsitpro.com/windows-8/opening-windows-8-apps-command-prompt-or-script
http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-shortcut-or-command-line/
请注意:要打开没有协议的应用程序(一个未列在注册表中或“设置关联”下),请使用OP的方法:
explorer shell:AppsFolder\[appuid]![appfullname]
应用程序UID是没有版本号的文件夹名称。例如,
4DF9E0F8.Netflix_2.11.0.8_x64__mcm4njqhnhss8
变
4DF9E0F8.Netflix_mcm4njqhnhss8
应用程序全名是 [App author].[App name]
例如, 4DF9E0F8.Netflix
。 4DF9E0F8是作者,Netflix就是这个名字。
把它们放在一起得到
explorer shell:AppsFolder\4DF9E0F8.Netflix_mcm4njqhnhss8!4DF9E0F8.Netflix
如果你还在寻找答案,最好的办法 在metro应用程序中打开文件 是使用像普通应用程序协议那样的执行字符串。执行字符串如下所示:
bingnews:[arguments, can be left blank.]
microsoftvideo:[arguments, can be left blank.]
netflix:[arguments, can be left blank.]
所以,要启动netflix,它就像输入一样简单 Start netflix:
进入命令行。
要查找应用程序的执行字符串,请转到此处:控制面板\程序\默认程序\设置关联
可在此处找到更多信息和示例。
http://windowsitpro.com/windows-8/opening-windows-8-apps-command-prompt-or-script
http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-shortcut-or-command-line/
请注意:要打开没有协议的应用程序(一个未列在注册表中或“设置关联”下),请使用OP的方法:
explorer shell:AppsFolder\[appuid]![appfullname]
应用程序UID是没有版本号的文件夹名称。例如,
4DF9E0F8.Netflix_2.11.0.8_x64__mcm4njqhnhss8
变
4DF9E0F8.Netflix_mcm4njqhnhss8
应用程序全名是 [App author].[App name]
例如, 4DF9E0F8.Netflix
。 4DF9E0F8是作者,Netflix就是这个名字。
把它们放在一起得到
explorer shell:AppsFolder\4DF9E0F8.Netflix_mcm4njqhnhss8!4DF9E0F8.Netflix
如果应用程序是默认处理程序,那么您只需启动文件或协议即可。没有一种好的收件箱方法可以从命令行将文件启动到非默认处理程序中。
Windows应用商店应用程序不是为从命令行运行而设计的,并且没有一种直接的方法可以从命令行启动它们。处理特定文件或协议的应用程序会通过它们接收 FileActivatedEventArgs 要么 ProtocolActivatedEventArgs 而不是命令行参数
您可以编写一个使用CLSID_ApplicationActivationManager的启动器应用程序 IApplicationActivationManager 至 ActivateForFile 特定的应用程序。
商店应用只能由shell启动。所以试试这个:
explorer.exe shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
或者从run(Win + R):
shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
不确定它是否适用于Windows 8,但在Windows 10上我使用它:
cmd /C start <app-name>:
例如,要启动Slack:
cmd /C start slack: