如何从命令行在 Microsoft Edge 中打开 URL?

Posted

技术标签:

【中文标题】如何从命令行在 Microsoft Edge 中打开 URL?【英文标题】:How to open URL in Microsoft Edge from the command line? 【发布时间】:2015-09-18 18:48:18 【问题描述】:

我需要在 Microsoft Edge(在 Windows 10 上)中打开 URL。当我调用

start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge http://www.google.com

然后 Microsoft Edge 已正确启动,但未打开给定的 URL(在本例中为 www.google.com)。它会打开 Bing 搜索,其中将给定的 URL 用作搜索词。

【问题讨论】:

我刚刚在 PowerShell 中测试了您上面的命令,它为我正确打开了 google.com。 感谢您指出这一点。我的命令在 PowerShell 中确实有效。我之前在命令提示符(cmd)中尝试过(正如我提到的那样,它会打开 Bing 搜索)。我真的很困惑为什么 cmd 和 PowerShell 的行为不同,但我可以通过 PowerShell 运行命令。 如果由于某种原因无法正常工作,请检查您的报价。我在不使用引号时遇到了explorer "microsoft-edge:https://www.example.com/foo?querystring=yes" 的问题(尽管使用start 我没有任何问题,无论哪种方式)。 【参考方案1】:

以下方法应通过命令提示符 (cmd) 工作:

start microsoft-edge:http://www.cnn.com

【讨论】:

你是怎么想出来的?严重地!我从来没有尝试过..(适用于 Windows 10 Edge) 如何从 c# 启动它?谢谢。 @wasatchwizard:见How to script Microsoft's Edge browser @FruitBreak,这里有点晚了,但这很有效,因为 Microsoft-Edge 的功能 URL 关联(可启动协议)包括:httphttpsmicrosoft-edge 和 @987654326 @。有问题的特定协议 Microsoft-Edge 特定于 Edge,而其他协议则受默认应用程序设置(“按协议选择默认应用程序”)的约束。如果 edge 是 read 协议的默认应用程序,那么您可以通过在文件资源管理器 read:http://www.cnn.com 中键入以下内容来启动它。 httphttps 可以设置为单独的协议,也可以通过默认的网络浏览器一起设置。 不支持file: 方案!【参考方案2】:

Windows 10:使用此目标创建快捷方式:

%windir%\system32\cmd.exe /c "start microsoft-edge:https://twitter.com"

【讨论】:

请注意,您不需要在此处使用引号。所以如果你需要使用程序参数字符串语法,那么你可以使用"c:/windows/system32/cmd.exe"作为程序,"/c start microsoft-edge:%u"作为参数字符串。【参考方案3】:

还有一个捷径:

C:\Windows\System32\cmd.exe /c start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge http://localhost:6516

【讨论】:

这是唯一同时支持file:///协议打开本地文件的方式。 如果 url 是 http://localhost:6516/sample?x=1&y=2 它不起作用它会导致 http://localhost:6516/sample?x 这是错误的 @ArchisThakkar 在命令行的命令中间不能使用 & 符号。试试这个C:\Windows\System32\cmd.exe /c start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge "http://localhost:6516/sample?x=1&y=2" 上述内容不起作用,因为双引号没有转义。这对我有用C:\Windows\System32\cmd.exe /c start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge http://localhost:6516/sample?x=1^&y=2【参考方案4】:

我也想知道为什么你不能像在 Windows 10 中启动“旧式”应用程序那样只启动 microsoftedge.exe。搜索网络,我找到了答案——这与微软如何实现“通用应用程序”。

以下是从该答案中提取的简短摘要,但我建议阅读整个条目,因为它很好地解释了如何处理这些“通用应用程序”。 Microsoft Edge 并不是我们要处理的唯一此类应用程序。

这是链接:http://www.itworld.com/article/2943955/windows/how-to-script-microsofts-edge-browser.html

这是该页面的摘要:

“Microsoft Edge 是一款“现代”通用应用。这意味着它无法以传统的 Windows 方式从命令行打开:可执行名称后跟命令开关/参数值。但只要有意愿,就会有方式。在这种情况下,“方式”称为协议激活。”

向文章作者 Stephen Glasskeys 致敬。

【讨论】:

秋季创作者更新1709即将发布,商店应用允许命令行+参数【参考方案5】:

所有其他解决方案仅适用于 Microsoft Edge(旧版)和 Windows 10。 自 2020 年起,它将停产并由 Microsoft Edge(基于 Chromium)取代。

适用于 Windows 7、8 和 10 的新 Edge 的解决方案是:

start msedge URL

来源:

https://en.wikipedia.org/wiki/Microsoft_Edge#Anaheim_(2019%E2%80%93present) https://docs.microsoft.com/en-us/deployedge/microsoft-edge-sysupdate-windows-updates

【讨论】:

我尝试了几件事,但这个解决方案终于有所帮助。谢谢@Baptistou【参考方案6】:

就个人而言,我使用我创建并放入我的配置文件脚本...\Documents\WindowsPowerShell\….profile的这个功能,请随意使用。由于我来自英国,我更喜欢在可能的情况下前往.co.uk,如果您来自其他地区,您可以添加自己的国家代码。

# Function taking parameter add (address) and opens in edge.
Function edge 
    param($add)
    if (-not ($add -contains "https://www." -or $add -contains "http://www.")) 
        if ($add[0] -eq "w" -and $add[1] -eq "w" -and $add[2] -eq "w") 
            $add = "https://" + $add
         else 
            $add = "https://www." + $add
        
    

    # If no domain, tries to add .co.uk, if fails uses .com
    if (-not ($add -match ".co" -or $add -match ".uk" -or $add -match ".com")) 
        try 
            $test = $add + ".co.uk"
            $HTTP_Request  = [System.Net.WebRequest]::Create($test)
            $HTTP_Response = $HTTP_Request.GetResponse()
            $add = $add + ".co.uk"
         catch
            $add = $add + ".com"
        
    
    Write-Host "Taking you to $add"
    start microsoft-edge:$add

然后你只需要在powershell中调用:edge googlehttps://www.google.co.uk

【讨论】:

赞成,因为此解决方案不受其他使用 CMD 的解决方案的长 URL 限制。【参考方案7】:

虽然接受的答案是正确的,但当从非控制台应用程序运行时,它具有闪烁控制台窗口的不良工件。

我发现效果最好的解决方案是下面的命令行:

explorer.exe "microsoft-edge:<URL>"

请记住,如果包含 % 符号,则需要键入 %%,因为 Windows 使用该符号进行变量扩展。

希望有人觉得这很有帮助。

【讨论】:

【参考方案8】:

我想推荐: Microsoft Edge 运行包装器https://github.com/mihula/RunEdge

你这样运行它:

RunEdge.exe [URL]
其中 URL 可能包含也可能不包含协议 (http://),如果未提供,包装器会添加 http:// 如果根本没有提供 URL,它只是打开边缘

例子:

RunEdge.exe http://google.com
RunEdge.exe www.***.com

这并不是一种全新的方法,但它被包装为 exe 文件,这在某些情况下可能很有用。对我来说,这是从 IBM Notes Basic 客户端启动 Edge 的方式。

【讨论】:

我认为这有点简单:microsoft-edge:[URL] 这对你的情况不起作用吗? 那个项目对我来说似乎毫无意义。为什么不像@TheEmirOfGroofunkistan 所说的那样运行 microsoft-edge:[URL]? 见上文,不幸的是,该程序与公认的解决方案存在相同的问题。它仅适用于少于 245 个字符的 URL。 见上文,但如果 R​​unEdge 更改为使用 PowerShell 而不是 CMD,它将适用于更长的 URL。 有一个类似的“官方”项目:github.com/MicrosoftEdge/edge-launcher【参考方案9】:

看起来事情发生了变化,以前的解决方案不再有效。

但是,这是在 Microsoft Edge 上启动 CNN.com 的有效命令:

microsoft-edge:http://www.cnn.com

【讨论】:

【参考方案10】:

我想在此处补充有关从命令行在 Microsoft Edge 中打开空白选项卡的其他答案。

我想补充的一个观察结果是,如果我删除了结尾的冒号,Windows 不会检测到命令microsoft-edge。我认为当我必须在不提及目标 URL 的情况下打开浏览器时会出现这种情况,例如在打开空白标签的情况下。

如何在 Microsoft Edge 中打开空白标签?

来自运行提示 - microsoft-edge:about:blank 从命令提示符 - start microsoft-edge:about:blank

您还可以在运行提示中使用 Edge 启动搜索。假设我必须搜索 Barack Obama 然后在运行提示符下触发以下命令-

microsoft-edge:Barack Obama

它以 Barack Obama 作为搜索词在 Edge 中启动 Microsoft 的 Bing 搜索网站。

【讨论】:

如何打开新标签页而不是空白页? start microsoft-edge:about:newtab 似乎不起作用,因为它使用默认搜索引擎打开 Edge,而 about:newtab 仅作为搜索词。【参考方案11】:

它会以旧的 dos 脚本方式或多或少地做同样的事情

set add=%1
if %add%$ ==$ set add="about:blank" && goto launch

rem http://
set test=%add:~0, 7%
if %test% == http:// goto launch

rem ftp:// 
set test=%add:~0, 6%
if %test% == ftp:// goto launch

rem https://
set test=%add:~0, 8%
if %test% == https:// goto launch

rem add http
set add=http://%add%

:launch
start microsoft-edge:%add%

【讨论】:

【参考方案12】:

microsoft-edge:http://google.com(随意打开谷歌)microsoft-edge:(随便打开)

【讨论】:

以上是关于如何从命令行在 Microsoft Edge 中打开 URL?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过命令行在 MSBuild 中指定 CodeAnalysisRuleset

如何在Linux中安装Microsoft Edge浏览器

如何从命令行在 iPhone 上启动 OCUnit 测试

如何从命令行在 Windows 上运行 .class 文件?

如何从命令行在 GNOME 终端中打开一个新选项卡? [关闭]

BASH :: 从命令行在存档中查找文件