¿Usar 'iniciar "http://ipAddress:Port/"' abre un nuevo símbolo del sistema?

¿Usar 'iniciar "http://ipAddress:Port/"' abre un nuevo símbolo del sistema?

Bien, estoy totalmente confundido acerca de qué diablos está pasando en mi símbolo del sistema. Simplemente estoy tratando de crear un script que minimice la ventana de solicitud, abra una dirección IP en el navegador y luego ejecute un comando simple del servidor HTTP a través de Python.

Tengo que ejecutar el comando del servidor HTTP DESPUÉS del startcomando porque si ejecuto el servidor HTTP primero, los siguientes comandos NO SE EJECUTAN.

Incluso instalé algunos .exeprogramas personalizados antiguos que agregaban pequeñas funciones para arreglar cosas como esta, pero ninguno de ellos funcionó correctamente...


EDITAR

De hecho, descubrí que eso era ""lo que hacía que no abriera el enlace, pero carga el sitio ANTES de que se inicie el servidor HTTP. Entonces, mi NUEVA pregunta es: ¿Cómo ejecuto mi http.servercomando ANTES de que el startcomando no funcione? (Ejecutar cualquier comando después de un comando del servidor HTTP no funcionará ya que todo lo posterior nunca se ejecuta).

EDITAR de nuevo

Gracias de nuevo Anaksunaman por la respuesta, aquí está mi producto final para el comando: (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/

Agregué --bind para vincularlo a 127.0.0.1, ya que a veces, cuando uso http.server e intento conectarme a Localhost:8000, dice que la conexión falló...

de modo que O elimine -b/--bind y simplemente escriba su dirección PERSONAL en ese campo de inicio.

Respuesta1

Puede aprovechar el startcomando en ambas llamadas. Por ejemplo, usando un archivo por lotes en 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

O puede usar casi exactamente los mismos comandos en Python con elsubprocesomódulo:

#!/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()

Como nota al margen, como señala correctamente en los comentarios a continuación, puede omitir el nombre del navegador (por ejemplo, firefox) en su startcomando para simplemente abrir el sitio web en el navegador predeterminado para Windows (es decir, start "" http://localhost:8000o incluso simplemente start http://localhost:8000).

información relacionada