Массовое копирование изображений с тем же именем файла и расширением - PullRequest
0 голосов
/ 26 июля 2011

Когда я загружаю изображения с помощью openfiledialog, мне нужно сохранить резервную копию изображений в другую папку с тем же именем файла и с тем же расширением. Как мне это сделать, как в приведенном ниже коде, я могу скопировать только одно изображение, и я дал случайную строку для этого изображения. Но мне это не нужно. Я хочу скопировать с тем же именем файла и с тем же расширением. И если у меня такое же имя файла, он должен перезаписать его, но не с другое имя и расширение.

Любая помощь будет принята с благодарностью.

 If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
        OpenFileDialog1.Multiselect = True
        Dim r As New Random()
        Dim i As Integer
        Dim strTemp As String = ""


        For i = 0 To 8
            strTemp = strTemp & Chr(CInt(Int((26 * r.NextDouble()) + 65)))
        Next

        Dim str As String
        For Each str In OpenFileDialog1.FileNames
            System.IO.File.Copy(str, Application.StartupPath + "\DownloadedImages\" & "strTemp.jpg", True)
        Next
    End If

И я добился этого, но есть одна проблема, я могу скопировать одно изображение. Можете ли вы сказать мне, как это сделать для нескольких изображений. А вот код:

 Dim fso As New FileSystemObject
        Dim str As String
        str = OpenFileDialog1.FileName
        MyExtension = fso.GetExtensionName(str)
        For i = 0 To OpenFileDialog1.FileNames.Length - 1
            System.IO.File.Copy(OpenFileDialog1.FileNames(i), Application.StartupPath + "\DownloadedImages\" + strTemp & "." & MyExtension, True)
        Next

Ответы [ 3 ]

1 голос
/ 26 июля 2011

Эта строка:

System.IO.File.Copy(str, Application.StartupPath + "\DownloadedImages\" & "strTemp.jpg", True)

Следует читать:

System.IO.File.Copy(str, Application.StartupPath + "\DownloadedImages\" & strTemp & ".jpg", True)
0 голосов
/ 26 июля 2011
 If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
        Dim str As String
        For Each str In OpenFileDialog1.FileNames
            Dim fso As New FileSystemObject
            Dim MyName As String
            Dim MyExtension As String

            MyName = fso.GetFileName(CStr(str))
            MyExtension = fso.GetExtensionName(MyName)
            System.IO.File.Copy(str, Application.StartupPath + "\Backup\" + MyName & "." & MyExtension, True)
            CheckedListBox1.Items.Add(str, CheckState.Checked)
            Thumbcontrol1.AddThumbnail(str)
            Thumbcontrol1.BackgroundImage = Nothing
            CheckedListBox1.SelectedIndex = 0
        Next
0 голосов
/ 26 июля 2011

Вы должны использовать класс Path .У него есть методы для получения имен файлов с расширением или без него, а также для получения только расширения.

Кроме того, strTemp не должно быть в кавычках, поскольку это будет буквальная строка "strTemp", а не значение в переменнойstrTemp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...