重命名文件夹中的所有文件
Renaming all files in a folder
我想知道是否可以使用一个简单的程序重命名文件夹中的所有文件,使用 vb.NET
我还很新手,不确定这是否可行。
假设有一个包含文件的文件夹:
Text_Space_aliens.txt, fishing_and_hunting_racoons.txt and mapple.txt.
使用一些凭据:
Dim outPut as String = "TextFile_"
Dim fileType as String = ".txt"
Dim numberOfFiles = My.Computer.FileSystem.GetFiles(LocationFolder.Text)
Dim filesTotal As Integer = CStr(numberOfFiles.Count)
是否可以重命名这些,不管以前的名称如何,例如:
TextFile_1.txt, TextFile_2.txt & TextFile_3.txt
一次操作?
我认为这应该可以解决问题。使用 Directory.GetFiles(..) to look for specific files. Enumerate results with a for..each and move(aka 重命名)文件为新名称。您必须调整 sourcePath
和 searchPattern
才能为您工作。
Private Sub renameFilesInFolder()
Dim sourcePath As String = "e:\temp\demo"
Dim searchPattern As String = "*.txt"
Dim i As Integer = 0
For Each fileName As String In Directory.GetFiles(sourcePath, searchPattern, SearchOption.AllDirectories)
File.Move(Path.Combine(sourcePath, fileName), Path.Combine(sourcePath, "txtFile_" & i & ".txt"))
i += 1
Next
End Sub
在您的标题中,您按时间顺序陈述了一些内容,但在您的问题中您再也没有提到过。所以我做了另一个例子 按 creationTime.
排序文件
Private Sub renameFilesInFolderChronologically()
Dim sourcePath As String = "e:\temp\demo"
Dim searchPattern As String = "*.txt"
Dim curDir As New DirectoryInfo(sourcePath)
Dim i As Integer = 0
For Each fi As FileInfo In curDir.GetFiles(searchPattern).OrderBy(Function(num) num.CreationTime)
File.Move(fi.FullName, Path.Combine(fi.Directory.FullName, "txtFile_" & i & ".txt"))
i += 1
Next
End Sub
我从未在 VB.net 中完成过 Lambda,但测试了我的代码并且它按预期工作。如果有任何问题,请告诉我。
我想知道是否可以使用一个简单的程序重命名文件夹中的所有文件,使用 vb.NET
我还很新手,不确定这是否可行。 假设有一个包含文件的文件夹:
Text_Space_aliens.txt, fishing_and_hunting_racoons.txt and mapple.txt.
使用一些凭据:
Dim outPut as String = "TextFile_"
Dim fileType as String = ".txt"
Dim numberOfFiles = My.Computer.FileSystem.GetFiles(LocationFolder.Text)
Dim filesTotal As Integer = CStr(numberOfFiles.Count)
是否可以重命名这些,不管以前的名称如何,例如:
TextFile_1.txt, TextFile_2.txt & TextFile_3.txt
一次操作?
我认为这应该可以解决问题。使用 Directory.GetFiles(..) to look for specific files. Enumerate results with a for..each and move(aka 重命名)文件为新名称。您必须调整 sourcePath
和 searchPattern
才能为您工作。
Private Sub renameFilesInFolder()
Dim sourcePath As String = "e:\temp\demo"
Dim searchPattern As String = "*.txt"
Dim i As Integer = 0
For Each fileName As String In Directory.GetFiles(sourcePath, searchPattern, SearchOption.AllDirectories)
File.Move(Path.Combine(sourcePath, fileName), Path.Combine(sourcePath, "txtFile_" & i & ".txt"))
i += 1
Next
End Sub
在您的标题中,您按时间顺序陈述了一些内容,但在您的问题中您再也没有提到过。所以我做了另一个例子 按 creationTime.
排序文件Private Sub renameFilesInFolderChronologically()
Dim sourcePath As String = "e:\temp\demo"
Dim searchPattern As String = "*.txt"
Dim curDir As New DirectoryInfo(sourcePath)
Dim i As Integer = 0
For Each fi As FileInfo In curDir.GetFiles(searchPattern).OrderBy(Function(num) num.CreationTime)
File.Move(fi.FullName, Path.Combine(fi.Directory.FullName, "txtFile_" & i & ".txt"))
i += 1
Next
End Sub
我从未在 VB.net 中完成过 Lambda,但测试了我的代码并且它按预期工作。如果有任何问题,请告诉我。