SoloCodigo

Programación General => Power Builder => Mensaje iniciado por: goldenscriptup en Martes 10 de Agosto de 2010, 18:48

Título: Correr un .bat en pb 10
Publicado por: goldenscriptup en Martes 10 de Agosto de 2010, 18:48
Me pueden asesorar como hacerle para correr un archivo .bat en pb 10 pero que ejecute la accion bien.
el archivo .bat lo ejecuto manualmente y funciona al 100%

Desde pb 10 ya intente de las siguientes formas, aparentemente se ejecuta por que se abre la ventana del ms-dos pero no hace la accion. lo que contiene el archivo .bat es llamar un programa .jar enviandole unos parametros.

Código: Text
  1.  
  2. //Prueba 1
  3. run("command. Com C:appaccion.bat")
  4.  
  5. //Prueba 2
  6. run("C:appaccion.bat")
  7.  
  8.  

Código: Text
  1.  
  2. //Prueba 3
  3. String ls_runinput
  4. Integer li_rc
  5. OleObject wsh
  6.  
  7. CONSTANT integer MAXIMIZED = 3
  8. CONSTANT integer MINIMIZED = 2
  9. CONSTANT integer NORMAL = 1
  10. CONSTANT integer HIDE = 0
  11. CONSTANT boolean WAIT = TRUE
  12. CONSTANT boolean NOWAIT = FALSE
  13.  
  14. ls_runinput = "c:appaccion.bat"
  15. wsh = CREATE OleObject
  16. li_rc = wsh.ConnectToNewObject( "WScript.Shell" )
  17. li_rc = wsh.Run(ls_runinput, NORMAL, TRUE)
  18.  
  19.  
  20.  

He intentado de esas maneras pero no realiza la accion del .bat  :hitcomp:
Agradesco cualquier asesoria. :good:
Título: Re: Correr un .bat en pb 10
Publicado por: F_Tanori en Miércoles 11 de Agosto de 2010, 16:56
Cita de: "goldenscriptup"
Me pueden asesorar como hacerle para correr un archivo .bat en pb 10 pero que ejecute la accion bien.
el archivo .bat lo ejecuto manualmente y funciona al 100%

Desde pb 10 ya intente de las siguientes formas, aparentemente se ejecuta por que se abre la ventana del ms-dos pero no hace la accion. lo que contiene el archivo .bat es llamar un programa .jar enviandole unos parametros.

Código: Text
  1.  
  2. //Prueba 1
  3. run("command. Com C:appaccion.bat")
  4.  
  5. //Prueba 2
  6. run("C:appaccion.bat")
  7.  
  8.  

Código: Text
  1.  
  2. //Prueba 3
  3. String ls_runinput
  4. Integer li_rc
  5. OleObject wsh
  6.  
  7. CONSTANT integer MAXIMIZED = 3
  8. CONSTANT integer MINIMIZED = 2
  9. CONSTANT integer NORMAL = 1
  10. CONSTANT integer HIDE = 0
  11. CONSTANT boolean WAIT = TRUE
  12. CONSTANT boolean NOWAIT = FALSE
  13.  
  14. ls_runinput = "c:appaccion.bat"
  15. wsh = CREATE OleObject
  16. li_rc = wsh.ConnectToNewObject( "WScript.Shell" )
  17. li_rc = wsh.Run(ls_runinput, NORMAL, TRUE)
  18.  
  19.  
  20.  

He intentado de esas maneras pero no realiza la accion del .bat  :hitcomp:
Agradesco cualquier asesoria. :good:


Regularmente el problema es de rutas y referencias dentro del bat, y con la que esta trabajando powerbuilder, si en el archivo bat haces referencia a aplicaciones sin la ruta completa  ' cambiate de directorio '

Ejemplo:

[BAT]
mspaint.exe "C:mapa.bmp"

Cambiate de directorio o estaras en el directorio de tu aplicacion

[BAT]
CD %WINDIR%System32
mspaint.exe "C:mapa.bmp"

o usando rutas completas

[BAT]
%WINDIR%System32mspaint.exe "C:mapa.bmp"

Necesitas analizar tu archivo bat

Saludos


NOTA:
     command. Com no existe la aplicacion se llama command.com  (sin espacio entre el punto y la extension)
     prueba con start (no lo he probado)
Título: Re: Correr un .bat en pb 10
Publicado por: goldenscriptup en Jueves 12 de Agosto de 2010, 21:57
Muchas gracias F_tanori

al .jar le agregue la ruta absoluta y funciono. quien sabe por que no reconocia el archivo .jar con la ruta relativa que estaba en el .bat

y con este objeto corrio bien
Código: Text
  1.  
  2. ...
  3. wsh.ConnectToNewObject( "WScript.Shell" )
  4. ...
  5.  
  6.  

las otras formas no las he probado