Действительно ли возможно изменить дату/время символьной ссылки в Windows?

Мы заархивировали старые (больше чем 2-летние) файлы на нашем файловом сервере с помощью FSRM для другого каталога путем перемещения и замены файлов символьными ссылками - проблема состоит в том, что символьные ссылки имеют как filedate дата, которую сценарий выполнил - ничто, чтобы сделать с исходным filedate. Пользователи не рады, что половина их файлов имеет ту же дату - действительно ли возможно или изменить дату символьных ссылок, чтобы совпасть с тем из исходных файлов или воссоздать их с нуля с правильной датой? Кто-либо встретился с этой проблемой при архивации с FSRM?

3
задан 22 July 2014 в 11:04
2 ответа

Кажется, что это возможно, но далеко не просто. Приготовьтесь... Я не знаю ни одной утилиты, которая могла бы это сделать, но кто-то взломал какой-то код, который, кажется, работает .


DWORD SetSymLinkTimesW(const wchar_t *filename, const FILETIME *ftc,
const FILETIME *fta, const FILETIME *ftw)
{
   DWORD            ret;
   HANDLE           h;

   h = CreateFileW(filename, GENERIC_READ | GENERIC_WRITE,
                               FILE_SHARE_READ | FILE_SHARE_WRITE,
                               NULL, OPEN_EXISTING,
                               FILE_FLAG_OPEN_REPARSE_POINT, NULL);
  if(h != INVALID_HANDLE_VALUE)
  {
     if(SetFileTime(h, ftc, fta, ftw) == TRUE)
    {
     CloseHandle(h);
     ret = NO_ERROR;
    }
    else
    {
      ret = GetLastError();
      CloseHandle(h);
    }
  }
  else
   ret = GetLastError();
  return ret;
} 

I've just copied and pasted your code into a console application and
it successfully changes the timestamps of a symlink for me (Win8.1
32-bit).

int _tmain(int argc, _TCHAR* argv[])
{
        FILETIME ft;

        GetSystemTimeAsFileTime( &ft );
        SetSymLinkTimesW( argv[1], &ft, &ft, &ft );
        return 0;
} 

1
ответ дан 3 December 2019 в 08:12

DirDate v6.3 теперь реализует это - http://www.datamystic.com/dirdate2.exe

Изменение даты и времени символических ссылок (симлинков), иначе известных как точки перебора файлов

.
-1
ответ дан 3 December 2019 в 08:12

Теги

Похожие вопросы