以下是我如何使用FileSystemWatcher将PDF从一个位置移动到另一个位置。
Public Sub WATCHER()
'CREATE NEW FILESYSTEMWATCHER
Dim Watcher As New FileSystemWatcher()
Watcher.Path = "<<path>>"
Watcher.NotifyFilter = NotifyFilters.LastWrite
Watcher.Filter = "*.pdf"
AddHandler Watcher.Changed, AddressOf OnChanged
AddHandler Watcher.Created, AddressOf OnChanged
Watcher.EnableRaisingEvents = True
End Sub
Private Sub OnChanged(source As Object, e As FileSystemEventArgs)
'MOVE PDFs TO NEW LOCATION
For Each foundFile As String In My.Computer.FileSystem.GetFiles("<<path>>", FileIO.SearchOption.SearchAllSubDirectories, "*.pdf")
Dim foundFileInfo As New System.IO.FileInfo(foundFile)
'ToolStripStatusLabel1.Text = "Moving PDFs..."
File.Move(foundFile, "<<path>>" & foundFileInfo.Name) 'MOVES PDFs
Next
End Sub
我想在移动所有PDF之后继续处理某些内容,比如说msgbox说明所有文件都已被移动。移动完成后会出现一些事件吗?
答案 0 :(得分:0)
我相信File.Move是一种同步方法。在for循环之后,您可以向用户发送一切已被移动的消息。 File.Move执行时间不会很长,因为它不会在磁盘上移动任何东西,它只会更新文件路径。如果你将File.Move与File.Copy交换掉,你应该看到一个更大的延迟,然后它会向用户发出一切已经完成的消息。