Data errata creata per i file in Windows durante la copia dei file, se il file esiste già


9

Sto riscontrando un problema durante la copia di file (o la creazione di nuovi file) su Windows 7. Se copio un file, mi aspetto che la data di creazione sia corretta, ma a volte non lo è. Di solito funziona, ma ecco un esempio di quando non funziona:

Ho due cartelle sul desktop, la cartella 1 e la cartella 2. Creo un nuovo file di testo nella cartella 1 chiamato 852pm (o ogni volta che è stato creato). Copio il file nella cartella 2. Il file copiato ha la data di creazione corretta. Elimina il file copiato, aspetto un minuto e lo copio di nuovo. La data di creazione è sbagliata. La data di creazione è dal file eliminato.

Ho provato a svuotare prima il cestino ma non funziona. E a volte la creazione di un nuovo file con lo stesso nome mostra la vecchia data di creazione (e con una nuova data modificata).

Perché succede? Come posso fare in modo che i nuovi file in questa situazione mostrino le date di creazione corrette?

Risposte:


11

Tunneling dei file

Citando l'articolo KB ufficiale Windows NT contiene funzionalità di tunneling del file system :

Ciò si verifica dopo l'eliminazione o la ridenominazione e la reintroduzione di una nuova voce di directory con quelle meta-informazioni (se si verifica una creazione o una ridenominazione per far apparire di nuovo un file con quel nome in un breve periodo di tempo).

L'idea è di imitare il comportamento previsto dai programmi MS-DOS quando utilizzano il metodo di salvataggio sicuro. Copiano i dati modificati in un file temporaneo, eliminano l'originale e rinominano il temporaneo nell'originale. Questo dovrebbe sembrare il file originale una volta completato. Windows esegue il tunneling su entrambi i file system FAT e NTFS per garantire che i nomi di file lunghi / brevi vengano conservati quando le applicazioni a 16 bit eseguono questa operazione di salvataggio sicuro.

L'articolo spiega anche come aumentare il tempo di cache o disabilitare del tutto le funzionalità di tunneling.

Disabilita il tunneling dei file

  1. Premere Win+ R, digitare regedit, quindi fare clic su OK .

  2. Passare alla seguente chiave di registro:

    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
    
  3. Fare clic con il pulsante destro del mouse su un'area vuota nel riquadro destro e selezionare Nuovo> Valore DWORD (32 bit) .

  4. Denominare il nuovo valore MaximumTunnelEntries.
    Assicurati che sia impostato su 0: questo significa che non verranno create voci del tunnel.

Informazioni aggiuntive

Il nome "tunneling" deriva dalla meccanica quantistica (piuttosto interessante):

Lo sviluppatore che era responsabile dell'implementazione del tunneling su Windows 95 è stato un po 'trascinato dall'analogia della meccanica quantistica: i frammenti di informazioni sui file cancellati di recente o rinominati di recente sono conservati in strutture di dati chiamate "quark". "

Fonte: la storia apocrifa del tunneling del file system

Ulteriori letture


0

Puoi aggiornare l'ora di creazione con questo comando manualmente:

powershell (ls YourFile.txt).CreationTime = Get-Date

... e lo stesso in un file batch:

call powershell "(ls YourFile.txt).CreationTime = Get-Date"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.