
Tengo este archivo por lotes y crea un archivo por lotes en la carpeta de inicio que abre una URL específica a un sitio web. Mi problema es que cada vez que se ejecuta también deja abierto un símbolo del sistema vacío.
El script por lotes funciona bien y abre la URL del sitio web con el navegador web, pero simplemente deja abierta una ventana CMD adicional que me gustaría que no apareciera. Nota: No estoy preguntando cómo ejecutar una ventana CMD en segundo plano.
Aquí está el código:
@echo off
cd C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
echo @echo off > startup.bat
echo start (link) >> startup.bat
start startup.bat
¿Alguien podría ayudarme a señalar qué podría cambiar para resolver este problema?
Respuesta1
Podrías usarLLAMARy agregue el /MIN
interruptor con elCOMENZARcomando para mantenerlo más oculto y garantizar que la ventana CMD desaparezca cuando se ejecutasegún la forma en que tiene la configuración lógica en el ejemplo anterior.
Hice algunos ajustes rápidos y agregué esta lógica para que tengas un ejemplo exacto de lo que usé y confirmé que funciona mientras explicas que necesitas que funcione.
Guión de ejemplo
@echo off
CD /D C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
echo @echo off > startup.bat
echo START /MIN "" "https://google.com">> startup.bat
echo EXIT /B>> startup.bat
CALL startup.bat
EXIT /B
Recursos adicionales
Respuesta2
Por favor, eche un vistazo al siguiente enlace:
¿Cómo ejecutar un archivo por lotes sin abrir una "ventana de comandos"?
Si no se puede acceder al enlace, una respuesta indica que se debe crear un script vbs que contenga lo siguiente:
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
Donde "your_batch_file.bat" es el nombre de su archivo por lotes.
Guarde lo anterior como un script visual básico, por ejemplo: ejemplo.vbs y ejecútelo.
Respuesta3
He aquí por qué y qué hacer:
de forma predeterminada, START ejecutará el equivalente de CMD /K, que abre una segunda ventana de comando y la deja abierta. En la mayoría de los casos, querrá que se complete el script por lotes y luego simplemente cierre la consola CMD para reanudar el script por lotes inicial. Esto se puede hacer ejecutando explícitamente CMD /C...
Echo Starting
START /wait "demo" CMD /c demoscript.cmd
Echo Done