使用‘start "http://ipAddress:Port/"’打开一个新的命令提示符?

使用‘start "http://ipAddress:Port/"’打开一个新的命令提示符?

好吧,我完全搞不懂命令提示符中到底发生了什么。我只是想编写一个脚本,该脚本将最小化提示窗口,在浏览器中打开 IP 地址,然后通过 Python 运行一个简单的 HTTP 服务器命令。

我必须在命令之后运行 HTTP 服务器命令,start因为如果我先运行 HTTP 服务器,那么下一个命令就不会运行。

我甚至安装了一些旧的自定义.exe程序,添加了一些小功能来解决此类问题,但它们都无法正常工作......


编辑

我实际上已经弄清楚了是""什么导致它无法打开链接,但它在 HTTP 服务器启动之前加载了网站。所以我的新问题是:如何http.server在命令之前运行我的命令start而不使它不起作用(在 HTTP 服务器命令之后运行任何命令都不会起作用,因为它之后的所有内容都不会执行。)

再次编辑

再次感谢 Anaksunaman 的回答,这是我的命令的最终产品:(RunHTTPServer.bat):

@echo Off

start "" /min python -m http.server 8000 -b 127.0.0.1

sleep 1

start http://127.0.0.1:8000/

我添加了 --bind 将其绑定到 127.0.0.1,因为有时使用 http.server 并尝试连接到 Localhost:8000 时,它会说连接失败...

因此,或者删除 -b/--bind 并在开始字段中写入您的个人地址。

答案1

您可以start在两个调用中都利用该命令。例如,在 Windows 中使用批处理文件:

@echo Off

@rem Start two separate processes via the Windows "start" command.
@rem The second command to open the browser will not be blocked.

@rem start the Python HTTP server with a minimized command window ("/min").
start "" /min python -m http.server 8000 --bind 127.0.0.1

@rem Give the HTTP server a second to start (optional).
sleep 1

@rem Open Firefox to the Python HTTP server instance.
start "" firefox http://localhost:8000

或者,你也可以使用几乎完全相同的 Python 命令子进程模块:

#!/Programs/Python37/python

# Start two separate processes via the Windows "start" command.
# The second command to open the browser will not be blocked.

import sys
import subprocess
import time

# "/min" (below) minimizes the spawned command window (Windows).
try:

    subprocess.run('cmd /c start "" /min python -m http.server 8000 --bind 127.0.0.1')
    # subprocess.run('cmd /c start "" /min python http-server.py')

    # Wait for our server to start (optional)
    time.sleep(1)

    # Open our browser
    subprocess.run('cmd /c start firefox http://localhost:8000')

except Exception as err:
    print('')
    print(err)
    sys.exit()

顺便说一句,正如您在下面的评论中正确指出的那样,您可以firefox在命令中省略浏览器名称(例如)start,只需在 Windows 的默认浏览器中打开网站(即start "" http://localhost:8000甚至只是start http://localhost:8000)。

相关内容