Página 1 de 1

Copia fichero

Publicado: 16 May 2010, 01:18
por fer1972
Buenas gente,

Soy nuevo en este foro y en la programacion con AutoIt. Espero que con vuestra paciencia y consejos pueda, en un futuro, valerme por mi mismo con este fabuloso programa.

El problema que tengo es que quiero realizar una copia de un fichero de una carpeta a otra pero antes tengo que comparar la version de los ficheros para saber si es o no necesaria dicha copia.

Lo malo de todo esto es que en las propiedades del fichero no tengo la posibilidad de ponerle la version. Se me ha ocurrido que lo que puedo cambiar es el propietario del mismo y comparar dicho valor pero no se si existe una instruccion en AutoIt que me permita extraer ese valor para una comparacion.


Muchas gracias y un saludo!!!!

Re: Copia fichero

Publicado: 16 May 2010, 12:58
por Alastor
Utiliza la funcion

Código: Seleccionar todo

FileGetVersion()
para comparar las versiones y

Código: Seleccionar todo

FileCopy()
para copiar el archivo

Re: Copia fichero

Publicado: 16 May 2010, 21:47
por fer1972
Gracias por responder Alastor!!!

El problema que tengo es que con la funcion FileGetVersion() el resultado que me da es 0.0.0.0, por esa razon estoy buscando alguna otra manera de diferenciar los ficheros (el antiguo y la actualizacion).

Un saludo
Fer

Re: Copia fichero

Publicado: 17 May 2010, 07:59
por Ximorro
¿Por qué no miras simplemente la fecha del archivo? Con FileGetTime puedes recuperarlas, además se puede pedir si quieres la fecha de creación o la de modificación, según te interese más.

Re: Copia fichero

Publicado: 17 May 2010, 17:40
por fer1972
Muchas gracias Ximorro!!!

Con este comando se puede realizar la comprobacion que yo quiero.

Aunque se me plantean un par de dudas,

¿Como puedo ejecutar un archivo .accde dentro del script? Por lo que he leido la funcion Run ejecuta un tipo de archivos concreto.

¿Se puede realizar esta comprobacion de un fichero en red? Lo digo porque me da este error al realizarlo:

C:\Documents and Settings\administrador\Escritorio\Pruebas.au3 (8) : ==> Subscript used with non-Array variable.:
$yyyymd2 = $in[0] & "/" & $in[1] & "/" & $in[2]
$yyyymd2 = $in^ ERROR

Si esta misma comprobacion la hago de un fichero local no da ningun problema.

Muchas gracias por vuestra paciencia!!!!!!

Re: Copia fichero

Publicado: 17 May 2010, 18:33
por fer1972
La segunda parte del mensaje anterior ya esta solucionada.

Me quedaria por resolver el tema de la ejecucion del archivo.

Muchas gracias!!!!!!

Re: Copia fichero

Publicado: 17 May 2010, 22:45
por Fredinchy
Usa:

Código: Seleccionar todo

ShellExecute()
Debes tener algún programa asociado a la extensión .accde

Saludos! :smt020

Re: Copia fichero

Publicado: 18 May 2010, 08:16
por Ximorro
Curiosidad, ¿cómo has solucionado el problema? porque esa función es efectivamente para archivos del sistema. Un archivo en red tendrías que descargarlo físicamente para analizarlo con este tipo de funciones, en ese caso además la fecha de creación probablemente será la de descarga y no te servirá, quizás mantenga la original de modificación...
Bueno cuando dices en red supongo que te refieres a web, donde no sé si habrá otras maneras de hacerlo. Porque en red si lo puedes acceder a través de una unidad de red, NFS o cosas así probablemente sí puedas ver el archivo casi como si fuera local.

¡Anda! ¿qué es un archivo .accde? ¿es ejecutable?

Re: Copia fichero

Publicado: 18 May 2010, 12:13
por fer1972
Buenos dias,

Con el comando ShellExecute() me ha funcionado. Muchas gracias!!!!!!

La extension .accde es una base de datos generada con Access 2007. Este fichero no es ejecutable, necesitas tener el programa o en su defecto el RunTime para poder ejecutarlo.

Y en cuanto al tema del fichero, cuando hablaba de red me referia a que tenia el archivo en un servidor. Lo he solucionado realizando una unidad que apunta a la carpeta.

Muchas gracias por vuestra ayuda y comprension.

Un saludo