Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





¿Cómo puedo saber la fecha de creación?

Iniciado por XÑA, 12 de Abril de 2011, 08:13:00 PM

« anterior - próximo »

XÑA

Yo tenía un programita en C# que hacía lo siguiente: Me cogía la fecha de creación de un archivo y me lo copiaba en otra carpeta, utilizando como nombre la carpeta esta fecha de creación.
¿Y para qué? Pues para las fotos. Hago fotos en varios días. Un día las quiero copiar al ordenador, pero no quiero copiarlas todas a una carpeta, lo que quiero es organizarlas por carpetas, de forma que el nombre de la carpeta sea la fecha en que se hizo la foto.
Hago el programa en C# y perfecto. Utilizo File.GetCreationTime(string fullPath) y perfecto.

Nota: En realidad no puedo copiar de la cámara al disco duro, porqué no es un 'path' válido. Entonces tengo una carpeta que llamo 'traspaso', abro la cámara y copio los archivos a esa carpeta. Luego ejecuto el programa sobre esa carpeta ya que al copiar los archivos Windows me respeta la fecha de creación

Pero me paso a Windows 7 y..¡no funciona! Depuro y miro todos los posibles campos AccesTime, LastCreationTime... y todo me devuelve lo mismo. Pero lo filpante es que en el explorador de archivos de W7, veo el campo Fecha y pone la Fecha que yo quiero leer, que es la de la fecha en la que se creó el archivo en la cámara...¡Pero no hay forma de recuperar ese valor!  Oo

¿Alguna idea?  ::)

Gracias

Vicente

La leche que raro, a ver si luego puedo investigar un rato...

shephiroth

Solo es una curiosidad, pero has probado a limpiar el proyecto y compilarlo de cero??

Segun MSDN: "Este método puede devolver un valor inexacto, debido a que usa funciones nativas cuyos valores el sistema operativo no puede actualizar continuamente." Por eso preguntaba lo de limpiar el proyecto. El modo debug siempre guarda ficheros intermedios, y si el proyecto lo "creaste" fuera de windows 7 puede que te este haciendo alguna guarrada.

Fuente http://msdn.microsoft.com/es-es/library/system.io.file.getcreationtime.aspx

XÑA


jano

¿Y probar con otros archivos que no sean esas fotos?

Como dice Shephiroth esos métodos son inexactos y poco creibles en cuanto el archivo es mínimamente tocado.

¿Te pasaste a Windows7 en el mismo ordenador tras formatear? ¿hiciste una copia de seguridad o copiaste los datos en un dispositivo externo? cualquier retoque del archivo puede corromper esos campos.
El blog de Agurines
http://agurines.blogspot.com/

XÑA

Lo raro es que en el explorador de archivos, me parece la fecha correcta, pero es que no hay forma humana de encontrar la propiedad en File o FileInfo que me de estos valores.
???

Mars Attacks

Probablemente esa información esté contenida en la metainformación del propio archivo de imagen, no en el archivo de sistema, y Windows reconozca el archivo de imagen y busque dentro su metainformación (igual que probablemente también te dirá el diafragma y la velocidad de disparo de la foto, etc.).

XÑA

Vaya, es posible. Le echaré un vistazo. Gracias!!  :D






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.