63

Возможный дубликат:
Как изменить метку времени в DLL или EXE?
Windows-эквивалент команды Linux «Сенсорный»?

Как я могу установить временную метку для файла через командную строку на определенную дату?

Моя конкретная ситуация - Windows 7.

5 ответов5

74

Благодаря ответу Уильяма Джексона я нашел похожий вопрос о переполнении стека.

Принятый ответ заявляет об использовании Powershell и этих команд:

$(Get-Item ).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item ).lastaccesstime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item ).lastwritetime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")

редактировать

Два примера:

(Это из комментариев :) Установите время последнего доступа к файлу aaa.csv к текущему времени:

$(Get-Item aaa.csv).lastwritetime=$(Get-Date)

Установите время создания файла foo.txt на 24 ноября 2015 г. в 6:00 утра:

$(Get-Item foo.txt).creationtime=$(Get-Date "11/24/2015 06:00 am")
39

Смотрите ответы на этот вопрос.

В частности, это может быть сделано с помощью:

copy /b filename.ext +,,

Это установит метку времени на текущее время.

Документация для команды copy находится на TechNet.

Запятые указывают на пропуск параметра Destination .

20

Nirsoft на помощь: попробуйте бесплатный инструмент nircmd. Это куча полезных инструментов в одной маленькой программе командной строки. Одна из команд позволяет вам указать одно или оба времени создания и изменения, например:

nircmd.exe setfiletime "c:\temp\myfile.txt" "24-06-2003 17:57:11" "22-11-2005 10:21:56"

13

Используя Cygwin, установите отметку времени test.txt на 31 января 2000 г. в 00:01.00:

touch -t 200001310001.00 test.txt
1

Посетите следующую веб-страницу: http://www.stevemiller.net/apps/

Win32 Console Toolbox содержит утилиту под названием «touch», которая позволяет вам изменять время для одного или нескольких файлов. Я считаю, что это работает только с американским форматом времени, хотя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .