【问题标题】:How to open URL in Microsoft Edge from the command line?如何从命令行在 Microsoft Edge 中打开 URL?
【发布时间】: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 我没有任何问题,无论哪种方式)。

标签: windows-10 microsoft-edge


【解决方案1】:

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

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

【讨论】:

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

来源:

【讨论】:

  • 我尝试了几件事,但这个解决方案终于有所帮助。谢谢@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 google去https://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.stackoverflow.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:(随便打开)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-08
          • 2020-09-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多