我正在努力改进我已经有效的系统。但是我遇到了一个问题,我似乎无法找到使用谷歌的答案,也许我没有找到正确的问题?
我正在使用For Each
循环来收集目录中的文件。然后我尝试获取每个文件名和一些其他信息,并确定我是应该临时移动文件还是删除文件。
使用的代码示例:
For Each File In Directory.GetFiles(Profile)
Dim tmpFile As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(File) 'Never moves to the next file.
Dim Name As String = tmpFile.Name
Dim AccessDate As String = tmpFile.LastWriteTime.Date()
Dim CurrentDate As String = My.Computer.Clock.LocalTime.Date()
If AccessDate < CurrentDate Then
My.Computer.FileSystem.DeleteFile(File) 'Moves to the next file without any issues.
Threading.Thread.Sleep(150) 'If no sleep program will lock up
Else
If Not Directory.Exists(Path) Then
Directory.CreateDirectory(Path)
My.Computer.FileSystem.MoveFile(File, Path & Name)
Else
My.Computer.FileSystem.MoveFile(File, Path & Name)
End If
End If
Next
我已经在代码中定义了我的问题是什么,请原谅我,如果有更好的方法可以做到这一点,我会自学并且还在学习很多东西。如果有一个更简单的方法,请指出我的方向。
基本上我在移动时遇到错误,说“文件未找到”,因为tmpFile
没有移动到目录中的下一个File
。