Respuestas:
Puede usar la palabra clave de salida. Aquí hay un ejemplo de uno de mis archivos por lotes:
start myProgram.exe param1
exit
exit
en un archivo por lotes.
start "VPN" "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
Use el comando de inicio para evitar que el archivo por lotes espere al programa. Solo recuerde poner una comilla doble vacía delante del programa que desea ejecutar después de "Inicio". Por ejemplo, si desea ejecutar Visual Studio 2012 desde un comando por lotes:
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
Observe la doble cita después del inicio.
start <window name> <program name>
Mira el comando START, puedes hacer esto:
START rest-of-your-program-name
Por ejemplo, este archivo por lotes esperará hasta que salga el bloc de notas:
@echo off
notepad c:\test.txt
Sin embargo, esto no:
@echo off
start notepad c:\test.txt
De mi propia pregunta :
start /b myProgram.exe params...
funciona si inicia el programa desde una sesión DOS existente.
Si no, llame a un script vb
wscript.exe invis.vbs myProgram.exe %*
El método Windows Script Host Run () toma:
Aquí está invis.vbs:
set args = WScript.Arguments
num = args.Count
if num = 0 then
WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
WScript.Quit 1
end if
sargs = ""
if num > 1 then
sargs = " "
for k = 1 to num - 1
anArg = args.Item(k)
sargs = sargs & anArg & " "
next
end if
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
Esto es lo único que funcionó para mí cuando intenté ejecutar una clase java desde un archivo por lotes:
start "cmdWindowTitle" /B "javaw" -cp . testprojectpak.MainForm
Puede personalizar el start
comando como desee para su proyecto, siguiendo la sintaxis adecuada:
Syntax
START "title" [/Dpath] [options] "command" [parameters]
Key:
title : Text for the CMD window title bar (required)
path : Starting directory
command : The command, batch file or executable program to run
parameters : The parameters passed to the command
Options:
/MIN : Minimized
/MAX : Maximized
/WAIT : Start application and wait for it to terminate
/LOW : Use IDLE priority class
/NORMAL : Use NORMAL priority class
/HIGH : Use HIGH priority class
/REALTIME : Use REALTIME priority class
/B : Start application without creating a new window. In this case
^C will be ignored - leaving ^Break as the only way to
interrupt the application
/I : Ignore any changes to the current environment.
Options for 16-bit WINDOWS programs only
/SEPARATE Start in separate memory space (more robust)
/SHARED Start in shared memory space (default)
Deberías probar esto. Inicia el programa sin ventana. En realidad, parpadea por un segundo, pero desaparece con bastante rapidez.
start "name" /B myprogram.exe param1
"title"
opción es importante. Si la ruta del programa incluye espacios, debe estar entre comillas, por lo que debemos agregarla "title"
para evitar fallas.
Cómo resolver el "problema espacial" y las dependencias locales:
@echo off
cd "C:\Program Files\HeidiSQL"
start heidisql.exe
cd "C:\Program Files (x86)\Google\Chrome\Application"
start chrome.exe
exit
Ya hay muchas respuestas para esta pregunta, pero estoy publicando esto para aclarar algo importante, aunque este no siempre sea el caso:
Start "C:\Program Files\someprog.exe"
Puede causar problemas en algunas versiones de Windows, ya que Start
realmente espera que el primer conjunto de comillas sea un título de Windows. Por lo tanto, se recomienda citar primero un comentario o un comentario en blanco:
Start "" "C:\Program Files\someprog.exe"
o
Start "Window Title" "C:\Program Files\someprog.exe"
Mi solución para hacer esto desde la GUI:
Cree un acceso directo al programa que desea ejecutar;
Edite las propiedades del acceso directo;
Cambia el TARGET
campo a %COMSPEC% /C "START "" "PROGRAMNAME""
;
Cambiar el RUN
campo a minimizado.
¡Listo! Mira cómo te gusta ...
PD: los parámetros del programa se pueden insertar entre las dos comillas finales; la PROGRAMNAME
cadena puede ser un nombre de archivo, una ruta relativa o absoluta: si coloca una ruta absoluta y borra la letra de la unidad y el punto y coma, entonces esto funcionará en una unidad de memoria USB sin importar qué letra le asigne la computadora host. . (también, si coloca el acceso directo en la misma carpeta y precede al nombre del archivo del programa PROGRAMNAME
con la %CD%
variable, las rutas siempre coincidirán; se puede usar el mismo truco en el START IN
campo).
Si este archivo por lotes es algo que desea ejecutar según lo programado o siempre; puede usar la herramienta de programación de Windows y no se abre en una ventana cuando inicia el archivo por lotes.
Para abrir Task Scheduler
:
'cmd'
taskschd.msc
-> enterDesde el lado derecho, haga clic Create Basic Task
y siga los menús.
Espero que esto ayude.
Aquí está mi solución preferida. Se toma de una respuesta a una pregunta similar.
Use una secuencia de comandos VBS para llamar al archivo por lotes:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\your\batchfile.bat" & Chr(34), 0
Set WshShell = Nothing
Copie las líneas anteriores a un editor y guarde el archivo con la extensión .VBS.