Вопрос по vb.net, .net – Как переименовать файл в VB.NET

6

Я понимаю, как переименовать файл вVB.NET как я использую в коде в конце моего поста. Однако мне было интересно, можно ли переименовать файл, и если файл существует, переименовать его и добавить +1 к имени файла?

Так что, если я запустил код.

& apos; Запустите его в первый раз

My.Computer.FileSystem.RenameFile("c:\test\test.txt", "c:\test\NewName.txt")

'Запустите его снова, но он должен добавить +1, поскольку файл уже существует, поэтому он должен быть & quot; c: \ test \ NewName1.txt & quot;

My.Computer.FileSystem.RenameFile("c:\test\test.txt", "c:\test\NewName.txt")

Обновить

Я решил вместо того, чтобы переименовывать и +1, было бы лучше просто пометить дату, так что для тех, кто борется, как я:

My.Computer.FileSystem.RenameFile("c:\test\test.txt", "Test" & Format(Date.Now, "ddMMyy") & ".txt")

Ваш Ответ

4   ответа
6
If System.IO.File.Exists("c:\test\NewName.txt") Then
   ' add +1 or loop exists with increment on the end until file doesn't exist
End If
Error: User Rate Limit Exceeded JackSparrow
2

Вам не нужно указывать полный путь к файлу вnewFileName параметр, просто укажите новое имя файла здесь, иначе вы получитеArgumentException.

Dim filePath As String = "C:\fingerprint1"

If File.Exists(filePath) Then

    Dim strNewFileName As String = "Fingerprint221"

    My.Computer.FileSystem.RenameFile(filePath, strNewFileName)

 End If
9

Вы должны написать свою собственную логику для этого.

File В классе есть много полезных методов для работы с файлами.

If File.Exists(filePath) Then
  ' Give a new name
Else
  ' Use existing name
End If

Path В классе есть много методов для работы с путями к файлам.

Path.GetFileNameWithoutExtension(filePath)
0
   Public Sub RenameFile(ByRef FileFind As String, ByRef NewReplaceFileName As String)
        Dim Ada As String = Path.GetFileNameWithoutExtension(FileFind)
        'VS2013 Dim Ada As String = File.Exists(FileFind)
        If Ada.Length > 0 Then
            My.Computer.FileSystem.RenameFile(FileFind, NewReplaceFileName)
            Exit Sub
        Else
            MsgBox("File doesn't exists")
        End If
    End Sub

Похожие вопросы