Jak upravit časová razítka pomocí prostředí Windows PowerShell

Následující tutoriál ukazuje, jak můžete upravovat časová razítka souborů - vytvářet, poslední přístup a poslední zápis - pomocí Windows PowerShell.

PowerShell je součástí jakékoli moderní verze operačního systému Microsoft Windows. Microsoft přesunul PowerShell z příkazového řádku na Windows 10, ale neodstranil příkazový řádek.

Uživatelé a administrátoři systému Windows 10 mají přístup k oběma, ale vývojové zaměření je jasně na PowerShell.

Každý soubor v systému Windows a v jiných operačních systémech má k němu přiřazeno několik časových razítek. Systém souborů sleduje čas vytvoření souborů, poslední přístupový čas a čas posledního zápisu.

Jak upravit časová razítka pomocí prostředí Windows PowerShell

První věc, kterou musíte udělat, je spustit okno PowerShell. Klepněte na klávesu Windows, napište PowerShell a poté stiskněte klávesu Enter. Tím se spustí výzva pod aktuálním uživatelským účtem. Pokud potřebujete zvýšenou výzvu, například pro úpravu časových razítek souborů složek, ke kterým má uživatel omezený přístup, přidržte navíc klávesu Shift a Ctrl.

Požadujete tři příkazy:

  • $ (Get-Item FILENAME.EXT) .creationtime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastaccesstime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastwritetime = $ (DATE)

Tyto tři příkazy změní jejich časová razítka vytvoření, posledního přístupu a posledního zápisu při spuštění.

Poznámka : Čas posledního přístupu není ve výchozím nastavení povolen ve všech podporovaných verzích systému Windows kvůli problémům s výkonem.

Zde je několik příkladů:

  • $ (Get-Item test.txt) .creationtime = $ (Get-Date)
  • $ (Get-Item test.txt) .lastaccesstime = $ (Get-Date "12/24/2011 07:15 am")

První příkaz nastaví časovou značku vytvoření souboru text.txt na aktuální datum a čas. Druhý příkaz změní poslední čas a datum přístupu na 24. prosince 2011 v 7:15.

Příkaz vyžaduje, aby byl soubor v aktuálním adresáři výzvy PowerShell.

Užitečné příkazy

Jednou věcí, která může být užitečná, je uvést časová razítka souboru aktuální složky před a po spuštění příkazu PowerShell. To usnadňuje vyhledávání souborů, které stále vyžadují změnu, a zkontroluje, zda byly změny použity správně.

Get-ChildItem -force | Select-Object Mode, Name, CreationTime, LastAccessTime, LastWriteTime | ft

Příkaz vypíše všechny soubory a složky aktuální cesty a zobrazí čas vytvoření, poslední přístupový čas a čas posledního zápisu každé položky v tabulce.

  • -force v tomto kontextu zahrnuje skryté a systémové soubory ve výstupu.
  • ft je zkratka pro formátovací tabulku.

Pokud potřebujete pouze vytvořit časové razítko, spusťte místo toho Get-ChildItem -force .

Následující skript spustí operaci u všech souborů.

$ modifikfiles = Get-ChildItem -force | Where-Object {! $ _. PSIsContainer}

foreach ($ object in $ modifikfiles)

{

$ object.CreationTime = ("11/11/2011 12:00:00")

$ object.LastAccessTime = ("11/11/2011 12:00:00")

$ object.LastWritetime = ("11/11/2011 12:00:00")

}

Stačí jej zkopírovat a vložit a změnit podle svých požadavků.

Tip: Pokud dáváte přednost grafickému uživatelskému rozhraní, pokud jde o změnu časových razítek, podívejte se na bezplatný softwarový program Attribute Changer.