質問編集履歴

1

LastAccessTimeとして取得される値がどう変わるのかを補足しました。

2023/05/10 07:19

投稿

Marutake
Marutake

スコア1

test CHANGED
File without changes
test CHANGED
@@ -31,7 +31,7 @@
31
31
  var lastWriteTime = fileInfo.LastWriteTime;
32
32
  Console.WriteLine("更新日時:" + lastWriteTime.ToString("yyyy/MM/dd HH:mm:ss"));
33
33
  ```
34
- 以下のようにコピー処理を行うとダメです。実行する度にLastAccessTimeとして取得される値が変わってしまいます。
34
+ 以下のようにコピー処理を行うとダメです。実行する度にLastAccessTimeとして取得される値が変わってしまいます。(CopyTo を実行した日時になっているようです。)
35
35
  ```C#
36
36
  var sourceFilePath = @"C:\Users\hoge\test.xlsx";
37
37
  var fileInfo = new FileInfo(sourceFilePath);
@@ -43,7 +43,7 @@
43
43
  var destinationFilePath = Path.GetTempPath() + "\\" + fileInfo.Name;
44
44
  fileInfo.CopyTo(destinationFilePath, true);
45
45
  ```
46
- コピー後に LastAccessTime の値を変更すればよいかと思ったのですが、ダメでした。「変更後アクセス日時」として設定した日時("2023/05/01 09:00:00")が表示されるのでOKかと思ったのですが、維持はされないようで、LastAccessTimeとして取得される値はやはり実行する度に変わってしまいます。
46
+ コピー後に LastAccessTime の値を変更すればよいかと思ったのですが、ダメでした。「変更後アクセス日時」として設定した日時("2023/05/01 09:00:00")が表示されるのでOKかと思ったのですが、維持はされないようで、LastAccessTimeとして取得される値はやはり実行する度に変わってしまいます。(CopyTo を行わなくても変わってしまうので、LastAccessTime に値をセットした日時になるようです。)
47
47
  ```C#
48
48
  var sourceFilePath = @"C:\Users\hoge\test.xlsx";
49
49
  var fileInfo = new FileInfo(sourceFilePath);