Как да редактирате времеви марки с Windows PowerShell

Следващият урок демонстрира как можете да редактирате времеви марки на файлове - създаване, последен достъп и последно писане - с помощта на Windows PowerShell.

PowerShell е част от всяка модерна версия на операционната система Windows на Microsoft. Microsoft се премести в PowerShell далеч от командния ред в Windows 10, но не премахна командния ред, като го направи.

Потребителите и администраторите на Windows 10 имат достъп и до двамата, но фокусът върху развитието е ясно върху PowerShell.

Всеки файл в Windows и други операционни системи също има няколко пъти свързани с него. Файловата система следи времето за създаване на файловете, времето за последен достъп и последното време на запис.

Как да редактирате времеви марки с Windows PowerShell

Първото нещо, което трябва да направите, е да стартирате прозорец на PowerShell. Докоснете клавиша за Windows, въведете PowerShell и натиснете клавиша Enter след това. Имайте предвид, че това стартира подкана под текущия потребителски акаунт. Ако се нуждаете от повишена подкана, например за редактиране на файловите отметки на папки, до които потребителят има ограничен достъп, задръжте допълнително клавиша Shift и Ctrl.

Трите необходими команди са следните:

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

Трите команди променят времето за създаване, последен достъп и последно записване на файла, когато ги стартирате.

Забележка : Последното време за достъп не е активирано по подразбиране за всички поддържани версии на Windows поради проблеми с производителността.

За да ви дам няколко примера:

  • $ (Get-Item test.txt) .creationtime = $ (Дата на получаване)
  • $ (Get-Item test.txt) .lastaccesstime = $ (Дата на получаване "24.12.2011 07:15 ч.")

Първата команда задава часовата марка за създаване на файла text.txt към текущата дата и час. Втората команда променя последното време и дата за достъп до 24 декември 2011 г. в 7:15 ч.

Обърнете внимание, че командата изисква файлът да се намира в текущата директория на PowerShell подкана.

Полезни команди

След като нещо, което може да е полезно, е да изброите времевите марки на файловете на текущата папка преди и след като изпълните командата PowerShell. Това улеснява намирането на файлове, които все още изискват промяна, и проверете дали промените са приложени правилно.

Get-ChildItem -force | Режим на избор на обект, име, CreationTime, LastAccessTime, LastWriteTime | фута

Командата изброява всички файлове и папки на текущия път и показва времето за създаване, последното време за достъп и последното време на запис на всеки елемент в таблица.

  • -force в този контекст включва скрити и системни файлове в изхода.
  • ft е кратка за таблицата с формати.

Ако просто имате нужда от създаване на времева марка, вместо това стартирайте Get-ChildItem -force

Следният скрипт изпълнява операцията за всички файлове.

$ modifyfiles = Get-ChildItem -force | Къде-обект {! $ _. PSIsContainer}

foreach ($ object в $ modifyfiles)

{

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

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

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

}

Просто го копирайте и поставете и го променете според вашите изисквания.

Съвет: Ако предпочитате графичен потребителски интерфейс, когато става въпрос за промяна на времеви марки, вижте вместо това безплатната софтуерна програма Attribute Changer.