Cambiar el nombre de un archivo según una lista de selección

Cambiar el nombre de un archivo según una lista de selección

Tengo que cambiar el nombre de miles de archivos de imagen con un conjunto de listas de nombres, como fotos de productos llamados topview, topview1, topview2, etc., y sideview, sideview1, ..., , , etc. Así que quiero automatizar este trabajo creando un archivo especial. carpeta nombrada como nombre del producto y copie todas las imágenes de ese producto en ella. Quiero cambiar el nombre de las imágenes en esta carpeta de esta manera: cada vez que elijo una imagen y presiono para cambiarle el nombre (vista en miniatura, por supuesto), aparecerá una lista desplegable de nombres preestablecidos (o ventana de diálogo, etc.) como , , , y una opción para escribir un nuevo nombre si no está preestablecido en la lista, si se toma antes, la siguiente selección creará un nuevo nombre , etc.sideviewnbackviewfrontview1234F2topviewsideviewfrontviewbackviewtopviewtopviewtopview1topview2 topviewn

No conozco el código con el que Windows cambia el nombre de un archivo al presionar, F2así que intento de otra manera: codifico un formulario de aplicación de Windows basado en vb.net a través de Visual Studio, pero me quedo con mi código. Por favor dame algún consejo para que funcione. Mi código incluye código de ejecución y código de diseñador de la siguiente manera:

Código de ejecución:

Imports System.IO
Public Class Form1


    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        If New Global.System.Windows.Forms.OpenFileDialog() With {
            .Title = "Select a file",
            .InitialDirectory = "D:\TestRen",
            .Filter = "All files (*.*)|*.*|All files (*.*)|*.*",
            .FilterIndex = 2,
            .RestoreDirectory = True
        }.ShowDialog() = Global.System.Windows.Forms.DialogResult.OK Then
            Dim strFilename As String = New OpenFileDialog() With {
            .Title = "Select a file",
            .InitialDirectory = "D:\TestRen",
            .Filter = "All files (*.*)|*.*|All files (*.*)|*.*",
            .FilterIndex = 2,
            .RestoreDirectory = True
        }.FileName
            'get extension
            Dim extn As String = Path.GetExtension(strFilename)
        End If
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim var As String
        var = ComboBox1.Text
        'It is stucking at this rename syntax
        My.Computer.FileSystem.RenameFile(strFilename, var + extn)
    End Sub
End Class

Código de diseñador:

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
    Inherits System.Windows.Forms.Form

    'Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.ComboBox1 = New System.Windows.Forms.ComboBox()
        Me.Button1 = New System.Windows.Forms.Button()
        Me.Button2 = New System.Windows.Forms.Button()
        Me.Button3 = New System.Windows.Forms.Button()
        Me.Button4 = New System.Windows.Forms.Button()
        Me.SuspendLayout()
        '
        'ComboBox1
        '
        Me.ComboBox1.FormattingEnabled = True
        Me.ComboBox1.Items.AddRange(New Object() {"Front view", "Back view", "Left view", "Right view"})
        Me.ComboBox1.Location = New System.Drawing.Point(15, 112)
        Me.ComboBox1.Name = "ComboBox1"
        Me.ComboBox1.Size = New System.Drawing.Size(309, 21)
        Me.ComboBox1.TabIndex = 0
        '
        'Button1
        '
        Me.Button1.Location = New System.Drawing.Point(370, 112)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(75, 23)
        Me.Button1.TabIndex = 1
        Me.Button1.Text = "Rename"
        Me.Button1.UseVisualStyleBackColor = True
        '
        'Button2
        '
        Me.Button2.Location = New System.Drawing.Point(370, 166)
        Me.Button2.Name = "Button2"
        Me.Button2.Size = New System.Drawing.Size(75, 23)
        Me.Button2.TabIndex = 2
        Me.Button2.Text = "Next"
        Me.Button2.UseVisualStyleBackColor = True
        '
        'Button3
        '
        Me.Button3.Location = New System.Drawing.Point(370, 239)
        Me.Button3.Name = "Button3"
        Me.Button3.Size = New System.Drawing.Size(75, 23)
        Me.Button3.TabIndex = 3
        Me.Button3.Text = "Cancel"
        Me.Button3.UseVisualStyleBackColor = True
        '
        'Button4
        '
        Me.Button4.Location = New System.Drawing.Point(370, 57)
        Me.Button4.Name = "Button4"
        Me.Button4.Size = New System.Drawing.Size(75, 23)
        Me.Button4.TabIndex = 6
        Me.Button4.Text = "Select a file"
        Me.Button4.UseVisualStyleBackColor = True
        '
        'Form1
        '
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(488, 312)
        Me.Controls.Add(Me.Button4)
        Me.Controls.Add(Me.Button3)
        Me.Controls.Add(Me.Button2)
        Me.Controls.Add(Me.Button1)
        Me.Controls.Add(Me.ComboBox1)
        Me.Name = "Form1"
        Me.Text = "Select a name"
        Me.ResumeLayout(False)

    End Sub

    Friend WithEvents ComboBox1 As ComboBox
    Friend WithEvents Button1 As Button
    Friend WithEvents Button2 As Button
    Friend WithEvents Button3 As Button
    Friend WithEvents Button4 As Button
End Class

Mi diseño es así: haga clic en el botón 4 (Seleccionar un archivo) para elegir un nombre de archivo en una carpeta para obtener información sobreviejo nombrey el cuadro combinado paranuevo nombreluego haga clic en el botón 1 (Cambiar nombre) para cambiar el nombre del archivo, después de un proceso exitoso, el botón Siguiente hará el bucle para obtener la siguiente entrada, el botón Cancelar para salir de la aplicación cuando todo haya terminado. Necesito más códigos para obtener todos mis objetivos, pero quiero comprender el proceso clave (cambiar el nombre en vb.net) para ir más allá.

información relacionada