Autor
|
Tema: [BATCH] - Ejecución de varias aplicaciones a la vez (Leído 6,875 veces)
|
melk
Desconectado
Mensajes: 8
Frontend Developah
|
Buenas a todos, Definitivamente, no sé que estoy haciendo mal, llevo unos días detrás del script (aunque tampoco es que haya tenido mucho tiempo). Lo que quiero es tener un script básico en bat que me permita ejecutar un conjunto de aplicaciones. Lo he intentado llamando las aplicaciones unas tras otras, pero el script espera a que una aplicación termine para llamar a la siguiente. Usando start /b lo ejecuta en la misma ventana pero me escribe por cada aplicación ejecutada el mensaje de bienvenida del cmd. Aparte de que algo debo estar haciendo mal con la gestión de los gotos La verdad que me lía bastante el uso de gotos pq nunca los he utilizado en programación web. Bueno, os dejo el script que por ahora he intentado hacer por si algún alma caritativa puede ayudame. @echo off echo "Ejecutando Xampp, Sublime Text 2 y Koala" start /b "C:\Program Files (x86)\Koala\koala.exe" start /b C:\xampp\xampp-control.exe start /b "C:\Program Files\Sublime Text 2\sublime_text.exe" set /p respuesta = Abrir Thunderbird? (s/n)
if [%respuesta%]==s goto Thunderbird if [%respuesta%]==n goto Siguiente
:Thunderbird echo "Abriendo Thunderbird..." start /b "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"
:Siguiente set /p respuesta = Spotify, Radiosure o ninguno? (s/r/n)
if [%respuesta%]==s goto Spotify if [%respuesta%]==r goto Radiosure if [%respuesta%]==n goto Ninguno
:Spotify start /b C:\Users\David\AppData\Roaming\Spotify\spotify.exe exit
:Radiosure start /b C:\Users\David\AppData\Local\RadioSure\RadioSure.exe exit
:Ninguno exit
Un saludo,
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
Corre cada comando en una nueva instancia de la CMD. Ej: Start /B "CMD" "%ComSpec%" /K " Start "APP" "Notepad.exe" "
EDITO: Addemás... set /p respuesta = Abrir Thunderbird? (s/n)
if [%respuesta%]==s Algo falla ahí. 1. Encerrar variables con comillas dobles. 2. No dejar espacios vacios en el nombre de la variable. 3. No añadir caracteres especiales a la expresión del IF, y encerrarla también con comillas dobles. Ej: Set /P "Respuesta=Pregunta" If /i "%respuesta%"=="s" (Goto :...) Nota: Usa el comando Choice para preguntas Booleanas.
|
|
« Última modificación: 18 Abril 2014, 14:54 pm por Eleкtro »
|
En línea
|
|
|
|
NikNitro!
Desconectado
Mensajes: 1.309
Galletaaa!!!
|
Creo recordar que poniendo un $ al final de la sentencia se ejecutaba en segundo plano y te permitia seguir llamando aplicaciones. Luego para traerlas al hilo principal se usaban bg y fg (background y foreground). Al menos en Bash. No se si habrá mucha diferencia. Saludos
|
|
|
En línea
|
|
|
|
daryo
|
Creo recordar que poniendo un $ al final de la sentencia se ejecutaba en segundo plano y te permitia seguir llamando aplicaciones. Luego para traerlas al hilo principal se usaban bg y fg (background y foreground). Al menos en Bash. No se si habrá mucha diferencia. Saludos ojala batch fuera la mitad de potente que bash
|
|
|
En línea
|
buenas
|
|
|
|
melk
Desconectado
Mensajes: 8
Frontend Developah
|
Buenas, Gracias por la ayuda. He cambiado todo el archivo según vuestras instrucciones. El codigo queda ahora: @echo off
echo "Ejecutando Xampp, Sublime Text 2 y Koala" Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\Program Files (x86)\Koala\koala.exe" " Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\xampp\xampp-control.exe" " Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\Program Files\Sublime Text 2\sublime_text.exe" "
set /P "respuesta=Abrir Thunderbird? (s/n)"
If /i "%respuesta%"=="s" (Goto :Thunderbird) If /i "%respuesta%"=="n" (Goto :Siguiente)
:Thunderbird echo "Abriendo Thunderbird..." Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" "
:Siguiente set /P "respuesta=Spotify, Radiosure o ninguno? (s/r/n)"
If /i "%respuesta%"=="s" (Goto :Spotify) If /i "%respuesta%"=="r" (Goto :Radiosure) If /i "%respuesta%"=="n" (Goto :Ninguno)
:Spotify Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\Users\David\AppData\Roaming\Spotify\spotify.exe" " exit
:Radiosure Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\Users\David\AppData\Local\RadioSure\RadioSure.exe" " exit
:Ninguno exit
Y se me ejecutan las 3 primeras aplicaciones, incluyendo thunderbird si le digo que si (aunque me aparece ese molesto prompt) Luego para la siguiente pregunta ya pasa de mi. Os dejo la salida. "Ejecutando Xampp, Sublime Text 2 y Koala" Abrir Thunderbird? (s/n) C:\Users\David\Desktop> C:\Users\David\Desktop> C:\Users\David\Desktop>s "Abriendo Thunderbird..." Spotify, Radiosure o ninguno? (s/r/n) C:\Users\David\Desktop>r "r" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
C:\Users\David\Desktop> Creo que me estoy perdiendo un poco...
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
Choice /C "SRN" /M "Spotify, Radiosure o ninguno?"
Saludos
|
|
|
En línea
|
|
|
|
melk
Desconectado
Mensajes: 8
Frontend Developah
|
Y pregunta de noob, ¿donde se almacena la respuesta del Choice? Me está tirando diciendo que R o S o N no es un comando válido Perdon por mi ignorancia
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
1. No uses el mismo nombre de variable para más de una variable o pueden entrar en conflicto sus valores... Set /P "Respuesta1=..." Set /P "Respuesta2=..." 2. El resultado del comando Choice se almacena en el código de salida, es decir, puedes acceder a él en la variable dinámica ERRORLEVEL. Choice /C "SRN" /M "Spotify, Radiosure, o ninguno?" :Choice1::S (" %AppData%\Spotify\spotify.exe" )2 >NUL & Goto : EOF :Choice2::R (" %LocalAppData%\RadioSure\RadioSure.exe" )2 >NUL & Goto : EOF :Choice3::N
Saludos
|
|
« Última modificación: 20 Abril 2014, 18:54 pm por Eleкtro »
|
En línea
|
|
|
|
melk
Desconectado
Mensajes: 8
Frontend Developah
|
La verdad que vaya cosas más raras se ven en batch xD Creo que terminaba antes haciéndome un script en PHP y ejecutándolo en consola xD Bueno, a lo que voy: @echo off
echo "Ejecutando Xampp, Sublime Text 2 y Koala" Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\Program Files (x86)\Koala\koala.exe" " Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\xampp\xampp-control.exe" " Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\Program Files\Sublime Text 2\sublime_text.exe" "
set /P "respuesta=Abrir Thunderbird? (s/n)"
If /i "%respuesta%"=="s" (Goto :Thunderbird) If /i "%respuesta%"=="n" (Goto :Siguiente)
:Thunderbird echo "Abriendo Thunderbird..." Start /B "CMD" "%ComSpec%" /K " Start "APP" "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" "
:Siguiente Choice /C "SRN" /M "Spotify, Radiosure, o ninguno?" Call :Choice%ErrorLevel% Pause&Exit :Choice1::S ("%AppData%\Spotify\spotify.exe")2>NUL & Goto :EOF :Choice2::R ("%LocalAppData%\RadioSure\RadioSure.exe")2>NUL & Goto :EOF :Choice3::N Goto :EOF
Tengo colocado eso, la parte que me dices que no use respuesta en más de una ocasión no la entiendo muy bien ya que solo la utilizo en dos ocasiones, lectura y escritura. Sobre el tema del Choice se sigue emperrando el sistema en que no existe R o N o S como comando y blablabla. Estoy por programarme algo en otro lenguaje pero sólo por no darte la paliza xDD
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ejecución de aplicaciones remotamente !!
Programación Visual Basic
|
ジ
|
2
|
2,179
|
8 Junio 2005, 17:45 pm
por ジ
|
|
|
Proyecto de desarrollo de varias aplicaciones
PHP
|
Nightwalker89
|
4
|
2,482
|
11 Marzo 2009, 00:11 am
por Nightwalker89
|
|
|
Varias alternativas al lanzador de aplicaciones de Ubuntu
Noticias
|
wolfbcn
|
0
|
2,474
|
15 Octubre 2011, 15:21 pm
por wolfbcn
|
|
|
ejecución comando cin y sus aplicaciones
Programación C/C++
|
netco0m
|
0
|
1,814
|
28 Agosto 2012, 08:00 am
por netco0m
|
|
|
Aplicaciones en ejecucion android
Dispositivos Móviles (PDA's, Smartphones, Tablets)
|
randol
|
1
|
2,423
|
30 Marzo 2017, 21:56 pm
por engel lex
|
|