XP pro + Visual Basic 2008でファイルをバックアップするソフトを作成しています。ListView1からListView2へのファイルコピーを行うと、更新日時がずれる現象が発生しています。この原因と解決法について教えてください。
ファイルコピーで更新日時が変わってしまう。
XP pro + Visual Basic 2008 で、ファイルをバックアップするためのソフトを作ろうとしています。
ListViewを二つ用意して、それぞれに対象となるフォルダー内のファイルを表示、チェックリストにチェックしたファイルを、互いのフォルダーにコピーする。のようなものを作っています。
しかしListView1からListView2へコピーを行うと、どういうわけか更新日時が数秒づれてコピーされてしまいます。逆の場合はづれが起こらないようです。
原因&解決法を教えてください。
コードは以下の通りです。
Dim i As Integer
Dim response As MsgBoxResult
i = 0
response = MsgBox("リスト1の選択ファイルをコピーしますか?", MsgBoxStyle.YesNoCancel, "確認")
If response = MsgBoxResult.No Then
GoTo CopyRist2
ElseIf response = MsgBoxResult.Cancel Then
Exit Sub
End If
Do Until i >= ListView1.Items.Count
If ListView1.Items(i).Checked = True Then
My.Computer.FileSystem.CopyFile(フォルダ1のパス & "\" & ListView1.Items(i).Text, _
フォルダ2のパス & "\" & ListView1.Items(i).Text, True)
ListView1.Items.RemoveAt(i)
Else
i = i + 1
End If
Loop
CopyRist2:
i = 0
response = MsgBox("リスト2の選択ファイルをコピーしますか?", MsgBoxStyle.YesNoCancel, "確認")
If response = MsgBoxResult.No Then
Exit Sub
ElseIf response = MsgBoxResult.Cancel Then
Exit Sub
End If
Do Until i >= ListView2.Items.Count
If ListView2.Items(i).Checked = True Then
My.Computer.FileSystem.CopyFile(フォルダ2のパス & "\" & ListView2.Items(i).Text, _
フォルダ1のパス & "\" & ListView2.Items(i).Text, True)
ListView2.Items.RemoveAt(i)
Else
i = i + 1
End If
Loop
以上です。 よろしくお願いします。