所以我知道如何增加。我有以下代码:
Dim startFileName As String = StorageRoot & endFile
Dim endFileName As String = String.Empty
Dim Counter As Integer = 1
Do
Dim myFileInfo As New FileInfo(startFileName)
endFileName = myFileInfo.DirectoryName & IIf(Not myFileInfo.DirectoryName.EndsWith("\"), "\", String.Empty).ToString & _
Path.GetFileNameWithoutExtension(startFileName) & Counter & myFileInfo.Extension
Counter += 1
Loop Until Not IO.File.Exists(endFileName)
endFile = endFileName
这很有效。但这是我的困境。假设存在以下文件:
filename_v1.ext filename_v2.ext filename_v3.ext filename_v4.ext
然后用户删除其中一个,假设为filename_v3.ext
在使用上述逻辑进行下一次上传时,我需要一种方法让它再次成为v5而不是v3。现在的样子,它在v2之后循环并停止并再次创建一个v3。
感谢您的帮助!
答案 0 :(得分:0)
您可以从Directory.GetFiles(path, searchPattern)获取与filename_v*.ext
匹配的所有文件的数组。
Dim files As String() = Directory.GetFiles("c:\SomePath", "filename_v*.ext")
在_v
之后解析数字,对它们进行排序,然后取最高+1。