Bat archivo para ejecutar un .exe en el símbolo del sistema

Respuestas:

198

Para iniciar un programa y luego cerrar el símbolo del sistema sin esperar a que el programa salga:

start /d "path" file.exe
abatishchev
fuente
10
@MehdiJ: establece el directorio de inicio.
abatishchev
2
¿Es posible ejecutar el archivo bat desde el navegador web? como un javascript para llamar al archivo bat?
Karthi
55
@Karthi: lo siento, es imposible
abatishchev
2
@Karthi No desea que javascript pueda ejecutar un archivo bat por razones de seguridad.
Roland
1
¿Cómo esperas a que salga el programa?
m4l490n
48

Puedes usar:

start "windowTitle" fullPath/file.exe

Nota: el primer conjunto de citas debe estar allí, pero no tiene que poner nada en ellas, por ejemplo:

start "" fullPath/file.exe
usuario2075928
fuente
9
El "primer conjunto de comillas" es simplemente el título de la ventana y NO es obligatorio. Sin embargo, es mejor especificar el directorio de inicio usando / d start /d "fullpath" file.exe Esto asegura que cualquier archivo dependiente se encuentre, por ejemplo, una DLL, y se cargue.
Tom Wilson
34

es un código muy simple para ejecutar el tipo de código de abajo del bloc de notas en un bloc de notas y guardarlo en la extensión .bat Exapmle: notepad.bat

start "c:\windows\system32" notepad.exe   

(el código anterior "c: \ windows \ system32" es la ruta donde guardó su programa .exe y notepad.exe es su archivo de programa .exe)

¡disfrutar!

Shinukb
fuente
27

Simplemente ponga esa línea en el archivo bat ...

Alternativamente, incluso puede hacer un acceso directo para svcutil.exe, luego agregar los argumentos en la ventana 'objetivo'.

GavinCattell
fuente
7

Un archivo bat no tiene estructura ... así es como lo escribiría en la línea de comando. Así que simplemente abra su editor favorito ... copie la línea de código que desea ejecutar ... y guarde el archivo como whatever.bat o whatever.cmd

MBoy
fuente
7

Simplemente pegue un archivo y llámelo "ServiceModelSamples.bat" o algo así.

Puede agregar "@echo off" como línea uno, para que el comando no se imprima en la pantalla:

@echo off
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service
myplacedk
fuente
Y en lugar de agregar una @echo offprimera línea, simplemente puede agregar @al comienzo de la línea que no desea que se
repita
6

¿Qué te detiene?

Coloque este comando en un archivo de texto, guárdelo con la extensión .bat (o .cmd) y haga doble clic en él ...

Suponiendo que el comando se ejecute en su sistema, creo que eso es todo.

Simón
fuente
6

Si quieres ser realmente inteligente, en la línea de comando escribe:

echo svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service >CreateService.cmd

Luego tiene CreateService.cmdque puede ejecutar cuando lo desee ( .cmdes solo otra extensión para .batarchivos)

kͩeͣmͮpͥ ͩ
fuente
3

Como se describe aquí , sobre el Startcomando, lo siguiente iniciaría su aplicación con los parámetros que ha especificado:

start "svcutil" "svcutil.exe" "language:cs" "out:generatedProxy.cs" "config:app.config" "http://localhost:8000/ServiceModelSamples/service"
  • "svcutil", después del startcomando, es el nombre dado a la ventana CMD al ejecutar la aplicación especificada. Este es un parámetro requerido del startcomando.

  • "svcutil.exe"es la ruta absoluta o relativa a la aplicación que desea ejecutar. El uso de comillas le permite tener espacios en la ruta.

  • Una vez que se ha especificado la aplicación para iniciar, todos los siguientes parámetros se interpretan como argumentos enviados a la aplicación.

Gipphe
fuente
2

Si sus carpetas están configuradas para "ocultar extensiones de archivo", nombrará el archivo * .bat o * .cmd y seguirá siendo un archivo de texto (extensión .txt oculta). ¡Asegúrese de poder nombrar un archivo correctamente!

marca
fuente
1

Bueno, el punto importante que parece aquí es que svcutil no está disponible de forma predeterminada desde la línea de comandos, puede ejecutarlo desde el acceso directo de la línea vs xommand, pero si crea un archivo por lotes normalmente, eso no ayudará a menos que ejecute el archivo vcvarsall.bat antes la secuencia de comandos. Debajo hay una muestra

"C: \ Archivos de programa \ Microsoft Visual Studio * versión * \ VC \ vcvarsall.bat"
svcutil.exe / idioma: cs /out:generatedProxy.cs /config:app.config http: // localhost: 8000 / ServiceModelSamples / service
arkoak
fuente