¿Cómo ejecutar Cmd.exe de forma silenciosa?

23

Yo uso el siguiente código en el cuadro de diálogo Ejecutar de Windows XP.

cmd /c "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe"

Puede reemplazar la ruta del programa por cualquier programa instalado en su sistema. El problema es que Photoshop se inicia pero la ventana cmd.exe aún se mantiene. No quiero que aparezca el archivo cmd.exe emergente. ¿Es posible iniciar un programa a través de cmd sin abrir una ventana cmd.exe? Necesito cmd trabajar en silencio. Por cierto, necesito este código para un programa. Así que necesito iniciar el programa a través de cmd pero sin que aparezca la ventana cmd.exe.

Más comentarios

Porque usaré ese código en un programa. El programa puede iniciar el cmd exe. Pero el problema es que no sabemos qué versión de Photoshop instaló. Por lo tanto, puede ser Photoshop CS4 o Photoshop CS5. Normalmente, cuando escribe el siguiente código en Ejecutar, obtiene Photoshop sin importar cuál esté instalado.

photoshop

Entonces quiero iniciar Photoshop con este método. El programa iniciará cmd como Ejecutar arriba pero algo como a continuación:

cmd /c photoshop

Pero no funciona. E incluso aparece la ventana cmd. Quiero hacer que el proceso se ejecute en silencio. Además, no debemos instalar ninguna otra herramienta. Quiero una solución que funcione en un Windows predeterminado.

BinaryMisfit
fuente
66
¿Por qué usar cmd.exe en lugar de simplemente iniciar Photoshop directamente, si no desea CMD en primer lugar?
CarlF
Pruebe cmd.exe / q / c [comando]
qroberts
No, eso no funcionará. ¡Lo intentas! Además, sería un comando / q / c si algo cmd / q / c "c: \ archivos de programa \ microsoft office \ office11 \ winword.exe" Observe que aparece la ventana de comandos. El no quiere eso. ¡Si lo hubieras probado, lo habrías sabido!
barlop
3
No hay necesidad de enojarse por eso. Además, el interlocutor es una mujer, no un hombre.
qroberts
1
CMDOW supuestamente hace esto.
CGA

Respuestas:

22

El problema es que el símbolo del sistema (cmd) no puede finalizar, está atascado en la pantalla esperando que Photoshop finalice.

Para iniciar Photoshop en un archivo bat y dejar que el archivo por lotes continúe y finalice, use el comando de inicio , que inicia un programa o comando específico en una ventana separada .

Por ejemplo:

start "" "C:\Program Files\Adobe\Adobe Photoshop CS4\Photoshop.exe"
harrymc
fuente
3
¿No se ejecuta el comando de inicio desde una ventana de comandos? en cuyo caso, una ventana de comando habría aparecido. Creo que una vez en cmd.exe, la única ventaja para comenzar, sería que le permite elegir si quiere minimizarlo o maximizarlo ... pero si él no lo quiere allí en absoluto ... ¿cómo ayudaría? Y si usa el inicio desde cmd.exe, entonces también puede escribir la ruta del programa sin iniciar.
barlop
@barlop: Sin inicio, el script se congela hasta que el programa finaliza. Con el inicio, el script puede terminar y desaparecer.
harrymc
fuera de interés, ¿qué quiere decir con la secuencia de comandos ... ¿quiere decir que comienzan haciendo blah.vbs "c: \ .... \ photoshop.exe"? y tener blah.vbs (un archivo de script) iniciarlo?
barlop
@barlop: me refería al archivo bat antiguo y verdadero, que supongo que es lo que usa el póster. Cambié script-> bat file.
harrymc
5

HSTART http://www.ntwind.com/software/utilities/hstart.html

Tu puedes hacer

  • empieza a correr
  • c:\hstart\hstart.exe /NOCONSOLE "cmd /c "c:\program files\microsoft office\office11\winword.exe""

o crea un ícono.

Algunos lo usan para ejecutar archivos bat ... (otros lo hacen desde un vbs que también puede ejecutarlo cmd.exey ocultar la ventana de comandos) ... pero puede usarlo hstart.

Sin embargo, hago eco de otros, ya que está ejecutando un EXE, si inicia..run..pathofexe o crea un icono para él, no se iniciará un símbolo del sistema. Entonces, ¿por qué quieres iniciarlo desde cmd.exe?

Además, tenga en cuenta .. en dos y ventanas utiliza barras diagonales inversas en las rutas de directorio. Las barras inclinadas son para URL o rutas de directorio en Unix o Linux.

barlop
fuente
¿Sabes lo que hstartestá haciendo? ¿Cómo se esconde la ventana creada?
Ross Rogers
1
@RossRogers No lo sé, pero quizás API Monitor le diga apimonitor.com y también, vbscript también puede ocultar una ventana. superuser.com/questions/62525/run-a-completly-hidden-batch-file y que menciona un programa llamado Quiet, de este sitio joeware.net joeware.net/freetools/tools/quiet/index.htm que menciona que su El programa utiliza ShellExecuteEx para hacerlo.
barlop
3

La mejor opción es preguntar qué estás tratando de hacer. Si necesita el 'código' para un programa, ¿por qué no utiliza la ejecución de Shell?

Y no puedo imaginar qué flujo de trabajo legítimo requeriría que se llamara a la línea de comando, que a su vez ejecutaría un ejecutable.

Devdatta Tengshe
fuente
3

Hay una herramienta llamada Quiet que puedes usar para lograr esto. Simplemente pase su archivo .exe o .bat como argumento. Para esto, simplemente cree un acceso directo del símbolo del sistema cmd en su escritorio. Luego obtenga las propiedades del método abreviado del símbolo del sistema que ha realizado. Luego, en la pestaña "Atajo", complete el campo "Destino" de esta manera:

[pathToQuiet.exe] [pathToThe(.exe)/(.bat)file]

Si hace doble clic en el acceso directo, su proceso se iniciará y puede verificarlo a través de su lista de procesos, en el administrador de tareas.

Tenga en cuenta que no debe haber ningún espacio en blanco en la ruta tanto a Quiet.exe como a su archivo .exe o .bat.

Mostafa
fuente
Quietparece ejecutarse en Windows NT hasta XP. No dice nada sobre Windows 10. ¿Crees que podría ser seguro usarlo en Windows 10?
Henrik
@Henrik, ¿qué quieres decir con 'seguro'? No lo romperá. ¡No hay daño en intentarlo!
barlop
@ Henrik No haré ningún daño, pruébalo.
Mostafa
2
cmd /c "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe" %*

• la [ruta] \ nombre de su ejecutable.
• todos los otros argumentos necesarios para su script (% *): solo para ejecutar el exe en segundo plano.

usuario2361573
fuente
Esto no funciona Aparece un mensaje de error "El sistema no puede encontrar el archivo% *"
DavidPostill
Funciona sin la %*parte.
Jin Kwon
0

¿Por qué no usar esto?

cmd /c start "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe exit"
Murciélagos92
fuente
1
¿Puedes explicar esta respuesta con más detalle?
bwDraco
Después de probar todo lo demás, solo esto ayudó. Gracias. #include <windows.h> int main() { system("cmd /c start C:/WINDOWS/system32/notepad.exe"); }
James Koss
-2

Finalmente descubrí una forma en que al menos en Windows 10 parece ocultar / cerrar las ventanas cmd en un acceso directo para el que he estado tratando de encontrar una solución. Esto es lo que uso para abrir Usuarios y equipos de Active Directory a través de runas con otro inicio de sesión de dominio.

runas.exe / savecred / user: dominio \ nombre de usuario "cmd / c start mmc C: \ Windows \ System32 \ dsa.msc"

quizás "cmd / c start" es una solución fácil ...

Alyx Jones
fuente
¿Por qué mencionas Windows 10. El usuario estaba usando Windows XP. ¿Al menos has verificado que esto funciona en Windows XP?
Ramhound