Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Como ejecutar un Archivo .BAT en delphi (https://www.clubdelphi.com/foros/showthread.php?t=74794)

river_1 12-07-2011 03:54:22

Como ejecutar un Archivo .BAT en delphi
 
Buenas a todos , necesito saber como ejecutar un archivo .BAT con una aplicacion de Delphi , con un boton , ya tengo el archivo pero no se como ejecutar, este BAT simplemente copia unos archivos de una ubicacion a otra.
Gracias por su ayuda....

Caro 12-07-2011 05:16:51

Hola river_1, puedes utilizar ShellExecute, añades ShellApi a uses.

Código Delphi [-]
 Path := 'c:\archivo.bat';
 ShellExecute(Handle,nil,PChar(Path),'','',SW_SHOW);

Saluditos

ecfisa 12-07-2011 05:18:33

Hola.

Código Delphi [-]
...
uses ShellApi;
...
begin 
  ShellExecute(Handle,'open','ARCHIVO_BAT.BAT',nil,nil,SW_SHOWMINIMIZED);
end;

Saludos.

river_1 13-07-2011 03:07:54

Muchas gracias por su respuesta, ya lo hice de las 2 maneras y no ejecuta el codigo, es decir, no hace nada no se ejecuta el .bat.

Lo puse de las 2 maneras que me sugirieron y no hace nada , es mas ni siquiera me marca algun error..
Gracias..

ecfisa 13-07-2011 04:51:58

Hola river_1.

Lo único que se me ocurre para que no te funcionen es que no estes indicando bién la ruta o el nombre de archivo.

Realizá una simple prueba, crea un archivo llamado PRUEBA.BAT en el directorio raíz ( C:\ ) con el siguiente contenido:
Código:

@ECHO OFF
CLS
ECHO EJECUTANDO EL ARCHIVO: PRUEBA.BAT
PAUSE

Y luego llamalo así:
Código Delphi [-]
...
uses ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Handle,'open','C:\PRUEBA.BAT',nil,nil,SW_SHOWMAXIMIZED);
end;

Del mismo modo el código de Caro, también funciona correctamente:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
  Path: string;
begin
  Path:= 'C:\PRUEBA.BAT';
  ShellExecute(Handle,nil,PChar(Path),'','',SW_SHOW);
end;

Saludos.

river_1 13-07-2011 08:17:21

1 Archivos Adjunto(s)
Pues la verdad no se porque no funciona , les estoy adjuntando una prueba que hice en mi maquina y al darle al boton no hace nada la aplicacion , tengo windows 7 no se que windows tengan ustedes o que propiedad se tenga que habilitar para que se pueda ejecutar el codigo...
Si ejecuto el bat directamente del archivo si lo ejecuta...

x_aguilarf 13-07-2011 09:59:29

a mi me funciona correctamente. Seguro que el archivo PRUEBA.BAT esta en C:\?

Intenta probar esto :

Código Delphi [-]
var
  Path: string;
begin
  Path:= 'C:\PRUEBA.BAT';
  ShellExecute(Handle,nil,'cmd.exe',PChar('/C "' + Path + '"'),'',SW_SHOW);

Saludos

river_1 13-07-2011 17:51:10

Gracias a todos por contestar , ya lo probe en otro equipo y si se ejecuta bien el programa , al parecer hay algo raro en mi equipo que no deja hacerlo.
Lo voy a dejar asi espero que cuando lo ejecute mi cliente se realize el proceso que realmente alli es donde me interesa que se realize bien.
Les hare saber como me fue cuando vaya a probarlo con el ...
Gracias..

river_1 16-07-2011 22:42:48

Hola a todos , ya quedo , fijense que en mi maquina ya quiso correr el programa.
Que era? quien sabe,...
Gracias a todos por sus respuestas....


La franja horaria es GMT +2. Ahora son las 18:00:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi