Vb.net Visual Studio使用cycle for重命名目录中的文件,并用文本框中的文本替换它
我需要帮助的周期,当程序开始应该重命名选定目录上的文件,但它没有 代码如下:Vb.net Visual Studio使用cycle for重命名目录中的文件,并用文本框中的文本替换它,vb.net,file,rename,cycle,Vb.net,File,Rename,Cycle,我需要帮助的周期,当程序开始应该重命名选定目录上的文件,但它没有 代码如下: Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click FolderBrowserDialog1.ShowDialog() Label4.Text = FolderBrowserDialog1.SelectedPath
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FolderBrowserDialog1.ShowDialog()
Label4.Text = FolderBrowserDialog1.SelectedPath
Dim counter = FolderBrowserDialog1.SelectedPath
Label5.Text = counter.Count
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim basedir As String = FolderBrowserDialog1.SelectedPath
For counter As Integer = 0 To Int(Label5.Text)
My.Computer.FileSystem.RenameFile(basedir, TextBox1.Text + "x")
Next
End Sub
End Class
首先,
FolderBrowserDialog1.SelectedPath
返回一个普通字符串。调用SelectedPath.Count
不会告诉您目录中有多少文件,而是告诉您字符串路径由多少个字符组成
其次,调用RenameFile(basedir,…)
不会做任何事情,因为basedir
指向一个目录-而不是该目录中的文件
为了获得正确的文件计数并遍历文件名,您必须使用类似于Directory.GetFiles(basedir)
的东西
文件(计数器)
表示当前所在的文件。如果counter=0
则文件(计数器)
将是数组中的第一个文件路径,依此类推
有一件事我不明白,那就是为什么你要给新文件起一个你放在TextBox1
里的名字和一个x
。您当前正在为该目录中的每个文件指定完全相同的名称(这是不可能的)。你能告诉我你到底想把它们改名成什么吗
同时,我将x
替换为计数器
。这将把它们重命名为0
,1
,依此类推
最后一件事,正如您可能已经注意到的,我在
重命名文件的第二个参数中使用了符号(&
)而不是加号(+
)。建议使用与符号连接字符串,因为加号在某些情况下可能导致异常
编辑:
要保留文件的扩展名,只需将其解压缩,然后将其添加到新名称:
For counter As Integer = 0 To Files.Length - 1
Dim FileExtension As String = Path.GetExtension(Files(counter)) 'Keeping the extension.
My.Computer.FileSystem.RenameFile(Files(counter), TextBox1.Text & counter & FileExtension)
Next
对不起,我之前没有说过,无论如何,这个程序帮助我重命名媒体中心的文件,如1
For counter As Integer = 0 To Files.Length - 1
Dim FileExtension As String = Path.GetExtension(Files(counter)) 'Keeping the extension.
My.Computer.FileSystem.RenameFile(Files(counter), TextBox1.Text & counter & FileExtension)
Next