programador - ejecutar script al iniciar windows
Programa de inicio de script por lotes de Windows y consola de salida (6)
Hmm ... lo hago en uno de mis archivos por lotes como este, sin usar CALL o START:
%SystemRoot%/notepad.exe ../%URI%
GOTO ENDF
Aunque no tengo Cygwin instalado y estoy en Windows XP.
Tengo un script por lotes que uso para iniciar un programa, como notepad.exe
. Cuando hago doble clic en este archivo por lotes, el bloc de notas comienza normalmente, pero la ventana negra del cmd
que inició notepad.exe
permanece en segundo plano. ¿Qué tengo que hacer para iniciar notepad.exe
y hacer desaparecer la ventana de cmd?
editar : es más complicado que usar /I
El cmd
llama a cygwin
, y cygwin
inicia el notepad
. yo suelo
start /I /path/cygwin/bin/bash.exe
y la primera ventana (cmd) desaparece, pero una segunda ventana (/ cygwin / bin / bash.exe) sigue en el fondo. En el script de cygwin utilicé notepad.exe &
y luego salgo.
Intenta iniciar path/to/cygwin/bin/bash.exe
La forma más simple es simplemente comenzar con el start
start notepad.exe
Here puede encontrar más información sobre el start
Use start notepad.exe
.
Más información con start /?
.
%ComSpec% /c %systemroot%/notepad.exe
start "" "%SystemRoot%/Notepad.exe"
Mantenga el ""
entre el inicio y la ruta de la aplicación.
Explicación agregada:
Normalmente, cuando lanzamos un programa desde un archivo por lotes como el que se muestra a continuación, tendremos las ventanas negras en el fondo, como dijo OP.
%SystemRoot%/Notepad.exe
Esto se debe a que el Bloc de notas se ejecuta en el mismo símbolo del sistema (proceso). El símbolo del sistema se cerrará DESPUÉS de que el Bloc de notas esté cerrado. Para evitar eso, podemos usar el comando de inicio para comenzar un proceso por separado como este.
start %SystemRoot%/Notepad.exe
Este comando está bien siempre que no tenga espacio en la ruta. Para manejar el espacio en la ruta por si acaso, agregamos las "
citas como esta.
start "%SystemRoot%/Notepad.exe"
Sin embargo, al ejecutar este comando, se iniciará otro símbolo del sistema en blanco. ¿Por qué? Si busca el start /?
, el comando de start
reconocerá el argumento entre "
como el título del nuevo símbolo del sistema que se va a lanzar. Entonces, para resolver eso, tenemos el comando de esta manera:
start "" "%SystemRoot%/Notepad.exe"
El primer argumento de ""
es establecer el título (que establecemos como en blanco), y el segundo argumento de "%SystemRoot%/Notepad.exe"
es el comando de destino que se ejecutará (que admite espacios en la ruta).
Si necesita agregar parámetros al comando, simplemente añádalos entre comillas, es decir:
start "" "%SystemRoot%/Notepad.exe" "<filename>"