2009-06-22 16 views
36

¿Cómo determina el Explorador de Windows el campo "Fecha de modificación" para las carpetas? [Aparte: Sé que esto está pidiendo desde la perspectiva del explorador específico, pero el comportamiento podría ser útil para la codificación de las actividades de búsqueda/tipo de clasificación]Reglas para "Fecha de modificación" de carpetas en el Explorador de Windows

¿Existe una descripción definitiva de esto en cualquier lugar - búsquedas de Microsoft, MSDN, Google & El desbordamiento de la pila no ha tenido éxito.

experimentos personales parecen sugerir que en un árbol de carpetas:

  1. cuando se añade una carpeta/archivo/borrado en una carpeta, fecha en que elque contiene la carpeta de modificación se actualiza.
  2. cuando el contenido de un archivo se modifica, la carpeta que contiene no se ve afectada

Sin embargo, estoy mirando a algunos directorios que no parecen ajustarse a estas reglas básicas - corriendo por el árbol que tengo (fechas en formato dd/MM/AAAA):

folder  (date created: 2/2/2006, date modified: 2/3/2006) 
    folder (date created: 2/2/2006, date modified: 2/3/2006) 
    folder (date created: 2/2/2006, date modified: 1/6/2009) 
     file (date created: 27/3/2009, date modified: 2/2/2006) 
+1

Por experimento, la eliminación de un solo archivo a veces afecta a la fecha de la carpeta principal modificada, a veces no, y a veces hay un retraso de ~ 60s. Casa de (sch) tics en silicio. – crokusek

+0

@crokusek ¿Estás seguro de que no se trata solo de que el Explorer no se refresque inmediatamente? Pruebe dir o F5. Siempre se actualiza de inmediato. –

+0

Después de no poder repetir el problema localmente, pude verificar mi comentario original mientras probaba un explorador de archivos local (Win 10 v1703) conectado a un sistema remoto de archivos de Windows Server 2012 como \\ MachName \ C $ \ SomeDir. En esta situación, eliminar un archivo utilizando el explorador de archivos local o el explorador de archivos de escritorio remoto no muestra "inmediatamente" la actualización localmente en la carpeta principal (varios Exploradores de archivos nuevos + F5, varias ventanas, incluso el directorio de PowerShell). Sin embargo, el explorador de archivos de escritorio remoto muestra la actualización. Debe haber un almacenamiento en caché erróneo de la información del directorio. – crokusek

Respuesta

18

esto no es explorer específica, esto está relacionado con NTFS.

Ver http://support.microsoft.com/kb/299648https://web.archive.org/web/20080219020154/http://support.microsoft.com/kb/299648 para algunas reglas.

Nota: El tiempo modificado se puede deshabilitar con la opción del sistema de archivos, por lo que nunca debe confiar en él. Cualquier método confiable sugerido sería apreciado.

+0

'1: D: \ NTFS1 - La carpeta creada es la misma y el sello modificado cambia. 2: D: \ NTFS1 \ NTFS2 - La carpeta creada cambia y la carpeta modificada permanece igual. - gracias MS, claro como el barro como de costumbre! :) –

+0

Creo que eso está claro. Estás haciendo referencia a su ejemplo al mover una carpeta. Si mueve NTFS2, no está creando una nueva carpeta, por lo que la fecha de creación no cambia, tampoco está modificando la carpeta, por lo que su fecha de modificación no cambia. Como está trasladando NTFS2 a NTFS1, en realidad está modificando NTFS1, por lo que su fecha de modificación cambia. Creo que eso es totalmente lógico. –

+2

Cuando dices que la "hora modificada se puede desactivar con la opción del sistema de archivos", no puedo encontrar ninguna evidencia al respecto. ¿Te refieres al tiempo de acceso?Aquí hay otro artículo de MSDN que es muy específico sobre la hora modificada: "La única garantía sobre una marca de tiempo de archivo es que la hora del archivo se refleja correctamente cuando se cierra el identificador que hace que el cambio se cierre". https://msdn.microsoft.com/en-us/library/windows/desktop/ms724290(v=vs.85).aspx – Ron

7

Descargo de responsabilidad: He probado todos estos en Windows 10. No pude encontrar una fuente autorizada que documenta todos estos comportamientos. Es completamente posible que cometí un error en alguna parte.

última hora de modificación de la carpeta se actualiza para estas acciones:

  • nuevo archivo o carpeta directamente en la carpeta de destino
  • archivo o carpeta cambiado el nombre directamente en la carpeta de destino
  • archivo borrado o carpeta directamente en la carpeta de destino
  • hardlink crear/eliminar/renombrar - igual que los archivos
  • archivo/carpeta symlink crear/eliminar/renombrar
  • unión de directorio crear/borrar/renombrar

Se no actualiza para estas acciones:

  • contenidos modificados de archivo directamente en la carpeta de destino
  • Editar destino de enlace simbólico o unión contenía en la carpeta de destino
  • cambio de fecha creado/modificado del archivo o subcarpeta
  • e atributos básicos dit (/ Archivo/sistema oculto) de un niño directa
  • cambio
  • compresión NTFS/cifrado de un niño directa
  • nada en absoluto sucede en una subcarpeta - literalmente cualquier cosa
  • cambiar los atributos de la propia carpeta
  • cambio de propietario/ACL de la carpeta en sí
  • propietario o ACL de un niño directa cambiando
  • si la carpeta es una unión de directorio, el cambio de blanco
  • adición/eliminación de datos de alt transmite a un fi hijo directo le
+2

Gracias, entonces (al carecer de un conocimiento más profundo de NTFS pero tener algo de FAT32) esto sugiere una carpeta puede interpretarse como un "archivo" cuyos datos contienen los nombres y punteros de archivos/subcarpetas contenidos, pero no sus metadatos, por lo tanto, solo la modificación de nombres o punteros actualiza la fecha de modificación. Supongo que la red compartida NTFS se comporta de la misma manera, pero no marcó –

+0

@TobiasKienzler Sí, creo que es una buena forma de resumirlo. –

+0

Maravilloso, gracias. De alguna manera, tiene sentido, aunque a veces deseo que las modificaciones de archivos/subcarpetas también modifiquen la fecha de la carpeta, la detección de cambios sería mucho más fácil ... –

Cuestiones relacionadas