在VB.Net中循环移动和删除文件

时间:2014-01-17 15:42:20

标签: vb.net for-loop foreach

我正在努力改进我已经有效的系统。但是我遇到了一个问题,我似乎无法找到使用谷歌的答案,也许我没有找到正确的问题?

我正在使用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

0 个答案:

没有答案