У меня есть несколько ZIP-файлов в папке; Я хочу изменить их измененную дату на три дня назад. Как я могу это сделать?

Моя операционная система - Windows Vista.

3 ответа3

1

Я предполагаю, что это вопрос программирования (хотя это не так). В этом случае вы должны использовать функцию SetFileTime WinAPI с дескриптором файла.

BOOL WINAPI SetFileTime(
  __in      HANDLE hFile,
  __in_opt  const FILETIME *lpCreationTime,
  __in_opt  const FILETIME *lpLastAccessTime,
  __in_opt  const FILETIME *lpLastWriteTime
);
1

Для этой цели вы можете использовать BulkFileChanger от Nirsoft .

Если вы хотите изменить время файла программно, вы можете использовать функцию SetFileTime. Для преобразования между различными форматами времени вы можете использовать TzSpecificLocalTimeToSystemTime и SystemTimeToFileTime. Чтобы получить дескриптор файла, используйте CreateFile.

0

UnxUtils - это один из многих наборов инструментов, в который перенес удобный (предназначенный для каламбура) touch инструмент с несколькими опциями и переключателями:

touch --help
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.

  -a                     change only the access time
  -c                     do not create any files
  -d, --date=STRING      parse STRING and use it instead of current time
  -f                     (ignored)
  -m                     change only the modification time
  -r, --reference=FILE   use this file's times instead of current time
  -t STAMP               use MMDDhhmm[[CC]YY][.ss] instead of current time
      --time=WORD        access -a, atime -a, mtime -m, modify -m, use -a
      --help             display this help and exit
      --version          output version information and exit

STAMP may be used without -t if none of -drt, nor --, are used.

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