Copiar archivos desde Delphi

misterroco

Hola, me gustaria como tengo que hacer para poder copiar unos archivos desde Delphi cuando se cumplen una serie de cosas que he programado, por ejemplo, cuando los ficheros tienen mas de 1 semana de antiguedad, que se haga una copia de seguridad, por ejemplo, de los archivos de correo de Outlook en una carpeta de un servidor.
El tema está que no se como tengo que hacer para que me copie archivos, he estado buscando y no he encontrado nada al respecto, si me podeis facilitar algun sitio donde pueda ver un ejemplo me seria de gran ayuda.

He intentado también una vez se cumple la condicion de tiempo por ejemplo, que ejecute un archivo.bat, la forma que he intentado es esta:

ShellExecute(NULL,'open','C:\Archivo.bat\',NULL,NULL,SW_SHOW);

Esta es la forma de ejecutar un archivo externo a Delphi segun he podido leer(en el bat ya le tengo puesto los comandos pertinentes para que se hagan las copias de los archivos por ejemplo), pero me da un error que no se como solucionar.
Me salta en el ultimo NULL que aparece y me dice Incompatible types:'Variant' and 'PChar'
No se cual es el problema porque segun he estado mirando se hace de la misma forma que he puesto.

Os pongo el codigo que es una tonteria por si alguien lo quisiera utilizar GNU :P

var
TheFileName:string;
Total:integer;
ano,mes,dia,ano2,mes2,dia2:word;
Fecha1,Fecha2:TDateTime;
begin

 Fecha1:= Date;
 TheFileName:='C:\Outlook\Outlook.pst';
 Fecha2:= StrToDateTime(GetFileDate(TheFileName));
 DecodeDate(Fecha1,ano,mes,dia);
 DecodeDate(Fecha2,ano2,mes2,dia2);
 Total:= dia-dia2;

If (Total<=-7) then
begin
{Hace mas de 1 semana que no se hace copia del correo
Hay que hacer una copia del correo}

ShellExecute(NULL,'open','C:\copias.bat',NULL,NULL,SW_SHOW);
end
else
{No hay que hacer copia}
Application.Terminate;

end;

Muchas Gracias por adelantado

misterroco

Al no tener respuesta llego a 2 conclusiones posibles:

1ª: La gente no programa en Delphi y soy el unico que trabaja con el.
2ª:La gente no tiene ni idea de lo que pido o porque me he explicado mal (Puede ser) o porque no saben como se hace.

Usuarios habituales

  • misterroco