标题:文件重命名报错
只看楼主
loyxqing
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2022-3-10
结帖率:100%
已结贴  问题点数:20 回复次数:1 
文件重命名报错
修改文件名时一直提示文件已存在,求助下面代码需要怎么修改?   
         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
搜索更多相关主题的帖子: 提取 重命名 报错 文件 If 
2023-02-18 20:01
阳光上的桥
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:25
帖 子:82
专家分:525
注 册:2023-1-12
得分:20 
请注意代码中被注释掉的这个语句:
'If Not (oldfile) Then

应该进一步完善,判断旧文件是否存在、判断新文件是否存在,并且对这些意外情况给出合适的提示,例如:
程序代码:
If Not (oldfile) Then
    MsgBox "旧文件【" & oldfile & "】不存在,无法更名!"
    Exit Sub
End If
If Not (newfile) Then
    MsgBox "新名字【" & newfile & "】已经存在了,无法更名!"
    Exit Sub
End If

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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511333-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091161 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved