Я пытаюсь переименовать файлы перед переходом в другую подпапку. Первое, что я делаю, это получить имена файлов и расширения файлов в папке LOCATION FOLDER. После этого я проверяю, существуют ли эти файлы в ACTIVE FOLDER. Если да, я переименовал его, добавив добавочное целое число.Как переименовать переименованный файл, если он уже существует в asp.net?
Например, LOCATION FOLDER содержит файл sample.txt и ACTIVE FOLDER не имеет такого файла. В этом случае мне не нужно переименовывать файл sample.txt, все, что мне нужно сделать, это переместить его в ACTIVE FOLDER. Но когда ACTIVE FOLDER содержит такое имя файла, при его перемещении его нужно переименовать в образец (1) .txt, а когда другой файл в LOCATION FOLDER имеет имя файла sample.txt при перемещении, должен быть образцом (2) .txt.
Ниже мой код
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim dir As New DirectoryInfo("C:\Documents and Settings\Admin\Desktop\LOCATION")
Dim Folder1Files As FileInfo() = dir.GetFiles()
For Each nFile As FileInfo In Folder1Files
Dim fileName As String = Path.GetFileNameWithoutExtension(nFile.Name)
Dim fileExt As String = Path.GetExtension(nFile.Name)
Dim newFileName As String
Dim fileNumber = 0
If File.Exists("C:\Documents and Settings\Admin\Desktop\LOCATION\ACTIVE FOLDER\" & fileName & fileExt) Then
fileNumber += 1
newFileName = String.Format("{0}({1}){2}", fileName, fileNumber, fileExt)
File.Move("C:\Documents and Settings\Admin\Desktop\LOCATION\" & fileName & fileExt, "C:\Documents and Settings\Admin\Desktop\LOCATION\ACTIVE FOLDER\" & newFileName)
Else
File.Move("C:\Documents and Settings\Admin\Desktop\LOCATION\" & fileName & fileExt, "C:\Documents and Settings\Admin\Desktop\LOCATION\ACTIVE FOLDER\" & fileName & fileExt)
End If
Next
End Sub
Всякий раз, когда я пытался отладить выше кода, и «sample.txt» существует при перемещении становится «образец (1) .txt», поэтому это правильно, но когда " sample.txt 'снова появляется на LOCATION FOLDER при перемещении, он становится «sample (1) (1) .txt», где на самом деле это должен быть «sample (2) .txt».
Что мне делать, чтобы получить ожидаемый результат?
Заранее спасибо.
Try, не делая добавляемый работы- просто оставить Номер_файл как 1. Не увеличивает его на 1. –
он не работает, сэра ... –