通过Windows命令行启动网站

82

我有一个程序通过以下命令启动一个网站。

cmd "start /max http://url.com"

使用此方法启动网站时,它将使用默认浏览器及其打开新窗口的默认设置。例如,如果Firefox和IE设置为在现有窗口的选项卡中打开窗口,则它们将在选项卡内打开窗口。我收到了IE 6替换当前打开窗口内容为url.com的报告。我进行了测试,确实发现当IE 6被设置为默认浏览器并且当前已经打开一个网页时,上述操作会将打开窗口的内容替换为url.com而不是打开一个新窗口。

经过一些测试,我看到了这里列出的命令:

cmd "start /max iexplore.exe http://url.com"

无论是否存在现有窗口,它都会始终在新窗口中打开(当然使用Internet Explorer)。

请问我是否错过了IE6的某些设置或者有没有一种方法可以复制通过直接调用iexplore.exe所表现出来的“始终打开新窗口”功能,但是使用用户默认浏览器而不是IE呢。


4
+1 是因为你最初给的例子正是我需要的。虽然我没有遇到引发你提问的问题,所以这些回答并没有帮助到我,但我只需要知道 "start http://url.com" 使用默认浏览器及其默认设置来打开一个新窗口即可。 - Dan Henderson
1
很高兴能够帮助到你。这是一个关于ie6的旧问题,所以我希望没有人再遇到这个实际问题了 =) - Nathan
请访问此链接以获取更多信息:https://dev59.com/dVcP5IYBdhLWcg3wXI3Z#64885208 - Bk01
9个回答

179

Windows

explorer "https://google.com"

这将启动您的默认浏览器并导航到该网站。

正如@RiverHeart所指出的那样,如果您的URL包含特殊字符,例如?,您可以在Windows 10+中对URL进行转义处理。

explorer "`"https://www.google.com/search?q=hello+there"`"

MacOS

open "https://google.com"

有没有办法告诉默认浏览器进入隐身模式? - Aaron Franke
2
资源管理器解决方案只是为我打开了资源管理器(Windows 11)。 - Jeppe
这个资源管理器解决方案只是为我打开了资源管理器(Windows 10)。 - Kintaro
我没有任何Windows机器来测试这个,但我想知道Win 11和10默认使用PowerShell是否会影响这个。 - Jay Wick
Explorer使用某些字符作为通配符,因此如果你给它一个?作为查询字符串URL,它将失败。你需要在PowerShell中用双引号将整个URL包起来,例如"`"url`"",如果你觉得这个有帮助的话,给这个人点个赞 - undefined

43

要使用默认浏览器打开URL,您可以执行以下操作:

rundll32 url.dll,FileProtocolHandler https://www.google.com

我在尝试其他解决方案时遇到了URL参数的问题。然而,这个解决方案似乎能够正常工作。


我可以理解使用 start explorer http://www.google.com 时可能会出现查询参数的问题,因为它使用的是Windows资源管理器并传递了一个URL,这是有效的。但是,仅使用 start 是否也存在问题?目前无法在Mac上测试 start http://google.com?q=test - Nathan
1
两者都没有起作用。只有“rundll32”对我有效。不过,我是从Go中执行它而不是从命令提示符中执行的。 - kjv
1
explorer <url> 不同,这个命令适用于 http://username:password@localhost:8080/ - Vlastimil Ovčáčík
2
更好的解决方案。 - CodeMonkey
这正是我一直在寻找的,比起使用start命令或资源管理器找到的任何解决方案都要好。谢谢 :) - undefined

34

start chrome https://www.google.com/ or start firefox https://www.google.com/


3
当您想要调用非默认浏览器时,此方法非常理想。您无需指定路径,因为“start”命令会自动查找Chrome或Firefox浏览器。 - BSalita
1
对于 Internet Explorer,请使用以下命令:start iexplore URL - Helge Klein

11

这对我有用:

explorer <YOUR URL>
例如:
explorer "https://www.google.com/"

这将在您的默认浏览器中打开https://www.google.com/


它只是为我打开了资源管理器(Windows 10)。 - Kintaro

6

IE有一个设置,位于工具 / Internet选项 / 高级 / 浏览,名为重用窗口以启动快捷方式,默认情况下已勾选。对于支持选项卡浏览的IE版本,仅当关闭选项卡浏览时此选项才相关(事实上,IE9 Beta明确提到了这一点)。然而,由于IE6没有选项卡浏览,这个选项确实会影响通过shell打开URL(就像你的例子一样)。


2

参考VaLo的回答:

cd %directory to browser%
%browser's name to main executable (firefox, chrome, opera, etc.)% https://www.google.com

start https://www.google.com 似乎在我的环境中无法正常工作。


(意思是在执行这个命令时出现了问题,可能需要检查环境或其他因素)

2
你可以在任何浏览器中使用命令行输入此命令来启动网页。
cd %your chrome directory%
start /max http://google.com

将其保存为bat文件并运行 :)

1

好的,Windows 10批处理文件已经完成,并且与我所希望的一样工作。首先按下Windows键和R键。输入mmc并按Enter键。在“文件”中添加SnapIn>转到特定网站并将其添加到列表中。在选项卡中按OK,在左侧控制台根菜单上双击您的站点。打开后将其添加到收藏夹中。这应该将其放置在C:\Users\user\AppData\Roaming\Microsoft\StartMenu\Programs\Windows Administrative Tools中。我将其快捷方式创建到桌面上的一个文件夹中。右键单击快捷方式并查看属性。在属性的“快捷方式”选项卡中,单击高级并检查以管理员身份运行。如果需要,启动位置也在快捷方式选项卡中,您可以将其添加到批处理文件中。我制作的批处理如下:

@echo off
title Manage SiteEnviro
color 0a
:Clock
cls
echo Date:%date% Time:%time%
pause
cls
c:\WINDOWS\System32\netstat
c:\WINDOWS\System32\netstat -an
goto Greeting

:Greeting
cls
echo Open ShellSite
pause
cls
goto Manage SiteEnviro

:Manage SiteEnviro
"C:\Users\user\AppData\Roaming\Microsoft\Start Menu\Programs\Administrative Tools\YourCustomSavedMMC.msc"

当您将此保存为bat文件时,需要创建一个快捷方式,并在属性>快捷方式>高级中启用管理员访问权限,还可以在那里设置键绑定并更改图标(如果需要)。我可能不需要:Clock。netstat命令可以更改为设置托管网络或任何您想要的内容,包括无。可以在1个mmc控制台中级联网站,并将多个喜爱添加到批处理文件中。

0

使用CLI,我找到的最简单(跨平台)的方法是使用NPM包https://github.com/sindresorhus/open-cli

npm install --global open-cli

全局安装后,可以运行类似open-cli https://unlyed.github.io/next-right-now/这样的命令。

您也可以本地安装它(例如在项目中),然后运行npx open-cli https://unlyed.github.io/next-right-now/

或者,使用NPM脚本(实际上我就是这样使用它的):"doc:online": "open-cli https://unlyed.github.io/next-right-now/",

运行yarn doc:online将打开网页,这适用于任何平台(Windows,Mac,Linux)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接