System.IO будет копировать файлы, но не сможет обновить атрибуты файла назначения - PullRequest
0 голосов
/ 26 мая 2010

У меня есть небольшой скрипт vb.net, который копирует файл, устанавливает его атрибуты на Normal, обновляет время файла, а затем устанавливает обратно атрибуты, соответствующие атрибутам исходного файла.

If IO.File.Exists(Destination) Then IO.File.SetAttributes(Destination, IO.FileAttributes.Normal)
IO.File.Copy(Source, Destination, True)

IO.File.SetAttributes(Destination, IO.FileAttributes.Normal)
IO.File.SetLastWriteTimeUtc(Destination, IO.File.GetLastWriteTimeUtc(Destination).AddHours(1))

IO.File.SetAttributes(Destination, IO.File.GetAttributes(Source))

Однако я столкнулся с довольно странной проблемой. В некоторых конфигурациях IO.File.SetLastWriteTimeUtc вызывает ошибку UnauthorizedAccess, хотя инструкция IO.File.Copy работала очень хорошо.

Я полностью озадачен: я проверил, и атрибуты файла успешно установлены в 128 (т. Е. Нормальные). Проблема, похоже, с самой SetLastWriteTimeUtc. Но что это?

Есть идеи?
Большое спасибо!

1 Ответ

0 голосов
/ 26 мая 2010

Если вы используете Vista или Windows 7, вам нужно будет запустить его как администратор из-за UAC. Попробуйте запустить его с повышенными правами, и он будет работать нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...