Я создал небольшой код в VB. net Я использовал FileSystemWatcher, чтобы просто скопировать вновь созданные файлы в папке в другую папку, он отлично работает, когда я перетаскиваю файлы в контролируемую папку (копировать, вставить), но когда я использую SaveAs из любого приложения и сохраняю файл в отслеживаемой папке, он работает только для первого файла, затем он перестает что-либо делать, даже если я попытался снова скопировать-вставить, он не будет работать, пока я не закрою приложение и запустите его снова. Я очень ценю ваш совет, чтобы решить эту проблему,
Вот код:
Private Sub Fsw1_Created(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles Fsw1.Created
Dim isLock As Boolean
Dim fname, fpath, fname_no_ext, ext_only As String
Dim dateString, first_part, fnameArr() As String
dateString = DateTime.Now.Second & DateTime.Now.Minute & DateTime.Now.Day.ToString & DateTime.Now.Month.ToString & DateTime.Now.Year.ToString
fname = Path.GetFileName(e.FullPath.ToString)
fpath = npath & fname
fname_no_ext = Path.GetFileNameWithoutExtension(fname)
ext_only = Path.GetExtension(fname)
tstAgain:
isLock = False
Try
Using f As New IO.FileStream(e.FullPath.ToString, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
End Using
Catch Ex As Exception
isLock = True
End Try
If isLock = True Then
Threading.Thread.Sleep(1000)
GoTo tstAgain
End If
File.Copy(e.FullPath.ToString, fpath, True)
My.Computer.FileSystem.RenameFile(fpath, fname_no_ext & "_" & dateString & "_" & room_name & ext_only)
End Sub