【发布时间】:2021-07-24 07:48:32
【问题描述】:
按下第一个按钮(打开文件夹)时,文件浏览器打开,您可以选择多个文件,然后将这些文件加载到列表框 1(ListFilesLoaded)中,现在我要做的是在列表框 2 中显示转换后的文件名(转换名称)。比如……
- apple_001.jpg > apple_Ambrosia.jpg
- apple_002.jpg > apple_Melba.jpg
- apple_003.jpg > apple_Granny.jpg
然后按我的第二个按钮(重命名文件)将重命名的文件保存在其原始目录中(删除旧文件/名称)。
到目前为止,我已经让加载 listbox1 (ListFilesLoaded) 工作正常。我只是不确定如何在列表框 2 (ConvertedNames) 中更改它们的显示名称并将它们保存为新文件名。
Imports System.IO
Public Class Form1
Private openFile As OpenFileDialog 'window to open files
Private Sub ToolStripLabel1_Click(sender As Object, e As EventArgs) Handles ToolStripLabel1.Click
Try
openFile = New OpenFileDialog
openFile.Title = "Select files."
openFile.CheckFileExists = True
openFile.Multiselect = True
openFile.RestoreDirectory = False
If openFile.ShowDialog = Windows.Forms.DialogResult.OK Then
openFile.SafeFileNames.Count()
For i As Integer = 0 To openFile.SafeFileNames.Count() - 1
ListFilesLoaded.Items.Add(openFile.SafeFileNames(i))
ConvertedNames.Items.Add(openFile.SafeFileNames(i))
Next
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub
Private Sub ToolStripLabel2_Click(sender As Object, e As EventArgs) Handles ToolStripLabel2.Click
End Sub
所以基本上我认为我需要类似...
If ConvertedNames.Items.string.contains "_001" then
ConvertedNames.Items.string = ConvertedNames.Items.string -4 + _Ambrosia
else if
ConvertedNames.Items.string.contains "_002" then
ConvertedNames.Items.string = ConvertedNames.Items.string -4 + _Melba
else if
ConvertedNames.loaded.name.contains "_003" then
ConvertedNames.Items.string = ConvertedNames.Items.string -4 + _Granny
End If
说到保存名字部分,我完全不知道。
也感谢您抽出宝贵的时间。
【问题讨论】:
-
新名称从何而来?它们是存储在某个地方还是您当时手动输入它们?
-
新名称总是一样的,所以我想对它们进行硬编码,我一共得到了 12 张图像,它们总是以 001,002,003 等开头。这些总是会更改为同一个词。所以... 001 将永远成为 Ambrosia 002 将永远成为 Melba 等等。
标签: vb.net listbox rename suffix