Вы можете попробовать пакетный файл ниже.Сначала используйте набор тестовых файлов.
@echo off
setlocal EnableDelayedExpansion
set origDate=%date%
set origTime=%time%
for %%f in (*.*) do (
set fName=%%~Nf
set fDate=!fName:~4,2!/!fName:~6,2!/!fName:~0,4!
set fTime=!fName:~8,2!:!fName:~10,2!:!fName:~12,2!
REM Next line update just "Date Modified" in a fast way:
REM echo !fDate!| date & echo !fTime!| time & copy "%%f" +,,
REM Next 4 lines update both "Modified" and "Created" dates, but it is slower:
echo !fDate!| date & echo !fTime!| time & copy "%%f" "%%~Nf.tmp"
echo !fTime!| time & copy "%%~Nf.tmp" +,,
del "%%f"
ren "%%~Nf.tmp" "%%f"
)
echo %origDate%| date
echo %origTime%| time
Этот пакетный файл требует, чтобы у вас было достаточно учетных данных, чтобы изменить системные часы.Предполагается, что echo %date%
отображает дату в формате ММ / ДД / ГГГГ;если нет, то нужна небольшая модификация.Если число обрабатываемых файлов велико, системные часы могут быть переведены на несколько секунд назад;возможно, вам нужно вручную сбросить системные часы, когда пакетный файл закончится.
Пожалуйста, сообщите результаты.
РЕДАКТИРОВАТЬ : я включил две части (измененные и созданныедаты) в том же списке выше.