¿Hay alguna manera de obtener el tiempo de creación de un archivo en Windows con mayor precisión? Quiero obtener el tiempo de creación de un video mp4 en milisegundos. es posible?
windows
file-management
Phil
fuente
fuente

ctimela copia sea el momento en que se copió.statpara obtener las 3 marcas de tiempo. Por supuesto, eso es porque normalmente uso GNU / Linux.Respuestas:
Resolución de marca de tiempo
La marca de tiempo de creación de un archivo en Windows depende del sistema de archivos:
FAT / VFAT tiene una resolución máxima de 2 s
NTFS tiene una resolución máxima de 100 ns
solución wmic
Puede usar
wmicpara recuperar la fecha de creación del archivo al microsegundo más cercano.Ejemplo:
La fecha de creación
20150329221650.080654+060es una marca de tiempo, con el siguiente formato:dónde:
yyyyAño de cuatro dígitos (0000 a 9999).mmMes de dos dígitos (01 a 12).ddDía de dos dígitos del mes (01 a 31).HHHora de dos dígitos del día usando el reloj de 24 horas (00 a 23).MMMinuto de dos dígitos en la hora (00 a 59).SSNúmero de segundos de dos dígitos en el minuto (00 a 59).xxxxxxNúmero de seis dígitos de microsegundos en el segundo (000000 a 999999)sSigno más (+) o signo menos (-) para indicar un desplazamiento positivo o negativo del Tiempo Universal Coordinado (UTC).UUUDesplazamiento de tres dígitos que indica la cantidad de minutos que la zona horaria de origen se desvía de UTC.solución estadística
También puede usar
stat(desde una instalación cygwin o mingw ).Ejemplo:
salida dir para comparación
Otras lecturas
fuente
xxxxxxes un número de seis dígitos de microsegundos en el segundo (000000 a 999999) . Micro- , es decir10^-6. Por supuesto, el primer triplete representa mili- (10^-3): truncado, no redondeado. El segundo triplete extraído no representa nada en sí mismo ... Sin embargo, algunoswmivalores de fecha y hora muestran000siempre el segundo triplete , por ejemplowmic OS get LocalDateTimeAquí se demuestra una manera inteligente: /programming/5180592/showing-ntfs-timestamp-with-100-nsec-granularity
Está utilizando VBScript para consultar la base de datos CIM de WMI y devolver la
FILETIMEestructura asociada a un archivo.También hay herramientas de código abierto que pueden inspeccionar los metadatos de un archivo multimedia, como EXIFtool, que está orientado a administrar los metadatos de los medios creados por las cámaras digitales.
fuente
Encontré una forma de obtener esto en Matlab:
Puede usar la función GetFileTime escrita por Jan Simon. Si no desea compilar sus propios archivos mex, también puede descargar los archivos compilados aquí .
No es tan exacto como usar wmic (solo ms) pero para mi propósito es adecuado.
fuente
Que depende del sistema de archivos : FAT has 2 segunda resolución, NTFS teóricamente tiene 100 ns resolución, pero la actual resolución es de 10 ms . Dicho esto, las interrupciones tienen mayor prioridad que las E / S de disco, y no estoy seguro del efecto que tiene el almacenamiento en caché de escritura en la marca de tiempo. Los temporizadores multimedia están optimizados para la precisión, por lo que sería la forma preferida de implementar el tiempo.
Puede usar una herramienta existente como XYplorer para ver marcas de tiempo de alta resolución, o
puede preferir escribir su propia aplicación. Utilice el método File.GetCreationTime ; devuelve una estructura de fecha y hora con la propiedad de milisegundos .
fuente
wmicmuestra una resolución al microsegundo más cercano .