如果存在,则在增加数字的同时重命名目录

时间:2016-03-22 01:16:21

标签: vb.net

我正在尝试重命名目录,而我想要做的只是增加数量(如果它已经存在)。

示例
Folder将重命名为Folder1 现在让我们留下FolderFolder1 现在,再次运行该应用程序会将Folder重命名为Folder2,依此类推。

当前代码

If Directory.Exists(path2) Then
            Try
                My.Computer.FileSystem.RenameDirectory(path2, "Application Data.old")
            Catch
                Exit Sub
            End Try
 End If

谢谢你们!

1 个答案:

答案 0 :(得分:0)

这是伪代码。你需要把它变成真正的代码。这是你怎么做的

 Imports System.IO
 Imports System.Linq

 Dim newFolderName As String
 Dim dirs() As String Directory.GetDirectories("<base dit path>") 'BTW - Directory is real object name
 If dirs.Length > 0 Then 
     Dim maxDir As Integer = dirs.Select(
         Function(d)
             Dim dirNO As Integer 
             If d.StartsWith("Folder") AndAlso d.Length > 6 AndAlso
                 Integer.TryParse(d.Substring(6), dirNO)) Then
                 Return dirNO
             Else
                 Return 0
             End If
         End Function).Max()
     newFolderName = "Folder" & (maxDir + 1)
     If Directory.Exists("<base dit path>\Folder") Then 
         Directory.Rename("<base dit path>\Folder", newFolderName)
     End if
 Else
     Directory.Create("Folder")
 End If