Возможный дубликат:
Как изменить метку времени в dll или exe?
Windows, эквивалентный из команды Linux 'касание'?
Как я могу установить метку времени для файла через командную строку на определенную дату?
Моя определенная ситуация является Windows 7.
Благодаря ответу Уильяма Джексона я нашел похожий вопрос на тему переполнения стека.
В принятом ответе говорится об использовании 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")
Edit
Два примера:
(Этот из комментариев:) Установка последнего времени доступа к файлу 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")
Смотрите ответы на этот вопрос.
В частности, это можно сделать собственноручно с помощью:
copy /b filename.ext +,,
Это установит временную метку на текущее время.
Документация для команды копирования
находится на TechNet.
Запятые указывают на пропуск параметра Назначение.
Nirsoft к спасению: попробуйте бесплатную утилиту nircmd. Это куча полезных утилит в одной маленькой программе командной строки. Одна из команд позволяет указать либо то, либо другое из созданного времени и измененного времени, например:
nircmd.exe setfiletime "c:\temp\myfile. txt" "24-06-2003 17:57:11" "22-11-2005 10:21:56"
Используя Cygwin, установите временные метки test.txt на 31 января 2000 года, в 00:01.00:
touch -t 200001310001.00 test.txt
Проверьте следующую веб-страницу: http://www.stevemiller.net/apps/
Панель инструментов Win32 Console Toolbox содержит утилиту под названием 'touch', которая позволяет изменять время для одного или нескольких файлов. Однако я считаю, что она работает только с US-форматом времени.