29Aug

Jak se Windows rozhoduje, který ze dvou souborů s identickými časovými razítky je novější?

click fraud protection

Co to znamená, když máte dva identické soubory s identickými časovými razítky, ale Windows říká, že jeden soubor je novější než ten druhý?Jak to může být? Dnešní příspěvek SuperUser Q & A pomáhá zmatenému čtenáři vyřešit tajemství časové známky.

dnešní otázka &Odpověď na zasedání se k nám dostala s laskavým svolením SuperUser - podřízenou výměnou Stack Exchange, skupině webů Q & A založených na komunitě.

Otázka

čtečka SuperUser WBT chce vědět, jaký systém Windows rozhodne, který z dvou souborů s identickými časovými razítky je novější:

Když systém Windows zobrazí podobné dialogové okno s odpovídajícími časovými razítky, jak zjistí, který z těchto dvou souborů je novější?

Nejprve jsem si myslel, že systém Windows porovnává atribut vytvořený datem a výsledek tohoto porovnání používá k označování jednoho nebo druhého za novější.Pokud byl soubor zkopírován do určitého umístění, může mít datum vytvoření, kdy byla kopie provedena, a nikoli datum vytvoření původního souboru. Nicméně po reprodukci s jiným souborem, jehož výsledek je novější, se zdá být opak:

instagram viewer

Výsledek je stejný, ať už kopírování nebo přesouvání souboru:

A pro pozadí je soubor v test2 dříve vytvořenou kopiísoubor v test1.

Jak se systém Windows rozhodne, který ze dvou souborů s identickými časovými razítky je novější?

Odpověď odpověď

SuperUser přispívá grawity:

Časové razítka v systému souborů NTFS mají rozlišení 100 nanosekund( 0.0000001 s).Dokonce i v případě, že dialogové okno vlastností zobrazuje stejnou zaokrouhlenou hodnotu, mohlo by se stát, že soubory byly vytvořeny v intervalu desetin sekundy.

Poznámka: Většina systémů souborů měří časy v μs nebo ns. FAT32 je trochu památka a zaokrouhlení časových značek na dvě sekundy.

Zkuste jednu z následujících metod porovnat časové razítka:

  • wmic datafile kde název = "c: \\ foo \\ bar.txt" getmodified

Přes PowerShell:

  • ( Get-ChildItem c: \ foo \ bar.txt). LastWriteTime. ToString( "o")

Musíte přidat něco k vysvětlení?Zní to v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde. Obrázek

: WBT( SuperUser)