Ejecutar un bat

Responder
morgaran
Mensajes: 6
Registrado: 13 Dic 2011, 15:14

Ejecutar un bat

Mensaje por morgaran » 21 Dic 2017, 10:54

Hola a todos.
Necesito ejecutar un bat desde uniface y no parece que me funcione...
He probado el propio bat desde su localización y se ejecuta correctamente.

Desde Uniface, he probado con lo siguiente:
VCFILE = ruta completa de localización del bat , es decir: \\servidor\subcarpetas\

activate "OS".command("cmd.exe /c %%VCFILE%%%stock.bat")
spawn ("c:\windows\sistem32\cmd.exe /c %%VCFILE%%%stock.bat")

también he probado con una ruta más corta, indicando la carpeta del bat ya que está dentro del directorio de la aplicación
VCFILE = ruta completa de localización del bat , es decir: DirBat\

activate "OS".command("cmd.exe /c %%VCFILE%%%stock.bat")
spawn ("c:\windows\sistem32\cmd.exe /c %%VCFILE%%%stock.bat")

¿Alguien puede echarme un cable?
Gracias por anticipado.
Saludos

luis.vila
Mensajes: 188
Registrado: 17 Sep 2011, 12:46

Re: Ejecutar un bat

Mensaje por luis.vila » 21 Dic 2017, 12:02

No debería haber ningún problema por lanzar un bat en un \\servidor

Código: Seleccionar todo

VC_BAT = "\\LIMBO25\Users\cufiler\performance_oracle.bat"
activate "OS".command("cmd /c %%VC_BAT%%%")
Funciona tanto con command como con commandout (lo acabo de probar).

El mecanismo es el siguiente. Uniface está en la carpeta de trabajo del IDE y allí ejecuta lo que se le ordena con el command. Para facilitar el debug, recomiendo hacer algo como

Código: Seleccionar todo

VCCOMM = "cmd /c %%VC_BAT%%%"
activate "OS".command(VCCOMM)
Así se verá exactamente lo que Uniface le ordenará al sistema operativo. Ese mismo string se puede copiar y pegar en una ventana de Símbolo de sistema (usando la misma carpeta de trabajo del IDE). Si se ejecuta en el DOS Prompt, se ejecutará desde Uniface.

También es recomendable entrecomillar el bat

Código: Seleccionar todo

VCCOMM = "cmd /c %%"%%VC_BAT%%%%%"

$status=0 ; se acabaron los problemas

morgaran
Mensajes: 6
Registrado: 13 Dic 2011, 15:14

Re: Ejecutar un bat

Mensaje por morgaran » 21 Dic 2017, 16:30

Hola, sigue sin funcionar.
Posiblemente sea por alguna parametrización de Java

Responder