Как переместить файлы один за другим и переименовать его из каталога в другой в vb.net
Для тех, кто осведомлен здесь, на vb.net, пожалуйста, помогите мне.
Я должен создать программу, которая перемещает изображения (в формате jpg) из одного каталога в другой, но перед этим он сначала переименует файл, а затем переместит его в папку назначения. Мне нужно это так, потому что каждый раз, когда он переименовывает файл, он будет сохранять в базе данных (MySQL)
У меня уже есть программа, которая перемещает все файлы JPG в другой каталог, но это не то, что мне нужно.
пожалуйста, мне нужна ваша экспертиза и коды.
я не так хорош в vb.net
Метод перемещения ОП из комментариев:
Dim sourceDirectory As String = TextBox1.Text
Dim archiveDirectory As String = TextBox2.Text
Try
Dim jpgFiles = Directory.EnumerateFiles(sourceDirectory, "*.jpg")
For Each currentFile As String In jpgFiles
Dim fileName = currentFile.Substring(sourceDirectory.Length + 1)
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
Next
Catch e As Exception
Console.WriteLine(e.Message)
End Try
2 ответа
Если вы используете System.IO.File.Move
у вас есть возможность переименовать файл одновременно с перемещением. Я не уверен, как вы определяете, каким будет новое имя файла, поэтому лучшее, что я могу предложить, - это посмотреть пример кода в приведенной мной ссылке MSDN.
Сверху Ссылка:
Перемещает указанный файл в новое место, предоставляя возможность указать новое имя файла.
File.Move ( sourceFileName As String, destFileName As String )
Добавлен пример, основанный на комментарии ОП, показывающий, как переименовать файл:
Dim sourceDirectory As String = TextBox1.Text
Dim archiveDirectory As String = TextBox2.Text
Try
Dim jpgFiles = Directory.EnumerateFiles(sourceDirectory, "*.jpg")
For Each currentFile As String In jpgFiles
Dim fileName = Path.GetFileName(currentFile)
Directory.Move(currentFile, Path.Combine(archiveDirectory, Path.GetFileNameWithoutExtension(fileName) & ".old"))
Next
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Поскольку у вас есть код для перемещения файла в папку, я предложу функцию переименования для переименования файлов, которые вы переместили.
Rename(Application.StartupPath & "\Images\" & oldname.Text & "", Application.StartupPath & "\Images\" & newname.Text & "")
и просто для вашей функции знания копировать файлы из одного каталога в другой (вместо перемещения)
FileCopy(sourcefilename, destinationfilename)
надеюсь, это поможет вам