2009-06-22 17 views
36

In che modo Windows Explorer determina il campo "Data modifica" per le cartelle? [A parte: So che questo sta chiedendo da un punto di vista specifico per explorer, ma il comportamento potrebbe essere utile per la codifica attività di ricerca/tipo di ordinamento]Regole per "Data modifica" delle cartelle in Esplora risorse

c'è una descrizione definitiva di questo ovunque - le ricerche di Microsoft, MSDN, Google & L'overflow dello stack non è andato a buon fine.

esperimenti personali sembrano suggerire che in un albero di cartelle:

  1. quando si aggiunge una cartella/file/cancellato in una cartella, data contenente cartella modifica viene aggiornata.
  2. quando il contenuto di un file viene modificato, la cartella che contiene non è influenzato

Tuttavia, sto guardando alcune directory che non sembrano essere conformi a queste regole di base - in esecuzione l'albero che ho (date in formato GG/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

Per esperimento, l'eliminazione di un singolo file a volte influisce sulla data di modifica della cartella padre, a volte no, ea volte c'è un ritardo di ~ 60 secondi. Casa di (sch) zecche su silicio. – crokusek

+0

@crokusek sei sicuro che non sia solo Explorer che non si aggiorna immediatamente? Prova dir o F5. Viene sempre aggiornato immediatamente. –

+0

Dopo aver omesso di ripetere localmente il problema, sono riuscito a verificare il mio commento originale durante il test di un file explorer locale (Win 10 v1703) connesso a un file system 2012 Windows Server remoto come \\ MachName \ C $ \ SomeDir. In questa situazione, la rimozione di un file utilizzando il file explorer locale o il file explorer del desktop remoto non mostra "immediatamente" l'aggiornamento localmente nella cartella padre (più file File Explorer + F5, più finestre, anche la directory PowerShell). Tuttavia, il file explorer del desktop remoto mostra l'aggiornamento. Deve esserci qualche errata memorizzazione nella cache delle informazioni della directory. – crokusek

risposta

18

questo non è esploratore specifico, si tratta di NTFS-correlato.

Vedere http://support.microsoft.com/kb/299648https://web.archive.org/web/20080219020154/http://support.microsoft.com/kb/299648 per alcune regole.

Nota: il tempo modificato può essere disabilitato con l'opzione filesystem, quindi non si dovrebbe mai fare affidamento su di esso. Tutti i metodi suggeriti suggeriti sarebbero apprezzati.

+0

'1: D: \ NTFS1 - La cartella creata è la stessa e il timbro modificato cambia. 2: D: \ NTFS1 \ NTFS2 - Cambia la cartella creata e la cartella modificata rimane la stessa. - Grazie MS, chiaro come al solito! :) –

+0

Penso sia chiaro. Stai facendo riferimento al loro esempio quando sposti una cartella. Se si sposta NTFS2 non si sta creando una nuova cartella in modo che la data di creazione non cambi, né si modifica la cartella in modo che la data di modifica non cambi. Dato che si sta spostando NTFS2 in NTFS1, si sta infatti modificando NTFS1 in modo che le sue modifiche alle date modificate. Penso che sia del tutto logico. –

+2

Quando si dice che "il tempo modificato può essere disabilitato con l'opzione filesystem", non riesco a trovare alcuna prova al riguardo. Intendevi il tempo di accesso?Ecco un altro articolo di MSDN che è molto specifico sul tempo modificato: "L'unica garanzia su un timestamp di file è che il tempo del file viene riflesso correttamente quando l'handle che apporta la modifica è chiuso." https://msdn.microsoft.com/en-us/library/windows/desktop/ms724290(v=vs.85).aspx – Ron

7

Disclaimer: Ho provato tutti questi elementi su Windows 10. Non sono riuscito a trovare una fonte autorevole che documentasse tutti questi comportamenti. È del tutto possibile che ho fatto un errore da qualche parte.

ora dell'ultima modifica della cartella viene aggiornato per queste azioni:

  • nuovo file o una cartella direttamente nella cartella di destinazione
  • file o una cartella rinominata direttamente nella cartella di destinazione
  • di file o una cartella eliminata direttamente nella cartella di destinazione
  • hardlink crea/cancella/rinomina - come file
  • file/cartella symlink crea/cancella/rinomina
  • directory giunzione creare/cancellare/rinominare

Si non aggiornato per queste azioni:

  • contenuti modificati di lima direttamente nella cartella di destinazione
  • modifica di destinazione di collegamento simbolico o giunzione contenute nella cartella di destinazione
  • modifica data/modifica del file o sottocartella
  • e attributi di base dit (/ archive/sistema nascosto) di un figlio diretto
  • cambiamento
  • compressione NTFS/codifica di un figlio diretto
  • nulla accadendo in una sottocartella - letteralmente tutto
  • modifica degli attributi della cartella stessa
  • cambiare proprietario/ACL della cartella stessa
  • proprietario o ACL di un figlio diretto cambiando
  • se la cartella è una giunzione di directory, cambiare il bersaglio
  • l'aggiunta/cancellazione dei dati alt flussi ad un fi figlio diretto le
+2

Grazie, quindi (mancando una conoscenza approfondita di NTFS ma avendo un po 'di FAT32) questo suggerisce una cartella può essere interpretato come un "file" i cui dati contengono i nomi dei file/sottocartelle contenuti e puntatori, ma non i loro metadati, quindi solo la modifica dei nomi o dei puntatori aggiorna la data di modifica. Presumo che la rete condivisa NTFS si comporta allo stesso modo, ma non ha controllato –

+0

@TobiasKienzler Sì, penso che sia un buon modo di sintetizzarlo. –

+0

Meraviglioso, grazie. In un certo senso ha senso, anche se a volte vorrei che le modifiche di file/sottocartelle modificassero anche la data della cartella, renderebbe molto più semplice il rilevamento delle modifiche ... –

Problemi correlati