注册 登录
编程论坛 VB.NET论坛

文件重命名报错

loyxqing 发布于 2023-02-18 20:01, 538 次点击
修改文件名时一直提示文件已存在,求助下面代码需要怎么修改?   
         Dim k% = LSV1.Items.Count
            If k = 0 Then TSL1.Text = ">>>当前表格中不存在snp文件” : Exit Sub
            For i = 0 To k - 1

                oldfile = LSV1.Items(i).SubItems.Item(2).Text
                FilePath = (oldfile).ToString '提取文件路径
                FileName = Path.GetFileNameWithoutExtension(oldfile) '提取文件名
                Filetype = Path.GetExtension(oldfile)    '提取文件类型扩展名
                newfilename = Replace(FileName, FSymbol, "_")                       '替换文件名字符
                newfile = FilePath & newfilename & Filetype '重命名后文件+路径完整名
                If oldfile <> newfile Then
                    'If Not (oldfile) Then
                    Rename(oldfile, newfile)
                End If
            Next i
只有本站会员才能查看附件,请 登录
1 回复
#2
阳光上的桥2023-02-20 10:50
请注意代码中被注释掉的这个语句:
'If Not (oldfile) Then

应该进一步完善,判断旧文件是否存在、判断新文件是否存在,并且对这些意外情况给出合适的提示,例如:
程序代码:

If Not (oldfile) Then
    MsgBox "旧文件【" & oldfile & "】不存在,无法更名!"
    Exit Sub
End If
If Not (newfile) Then
    MsgBox "新名字【" & newfile & "】已经存在了,无法更名!"
    Exit Sub
End If

代码修改后,应该就不会发生这些异常了,而且遇到特殊情况也能一目了然,无需分析代码。
1