Foxtable(狐表)用户栏目专家坐堂 → 关于修改文件名


  共有3790人关注过本帖树形打印复制链接

主题:关于修改文件名

帅哥哟,离线,有人找我吗?
裴保民
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
关于修改文件名  发帖心情 Post By:2019/1/9 20:50:00 [只看该作者]

Dim path =  ProjectPath  & "测试图片\"
Dim zpxghmc As String
Dim khmc As String
Dim dr = Tables("客户资料").Current
Dim t As  Table = Tables("客户资料")
If dr Is Nothing Then '如果没找到的话
    MessageBox.Show("数据库中无数据,无效操作!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    Return
Else
    zpxghmc =dr("客户姓名")
    If dr.IsNull("身份证号") = False Then
        zpxghmc =zpxghmc & right(dr("身份证号"),6) & "-"
    Else
        zpxghmc = zpxghmc & "-"
    End If
    khmc =t.Current("客户姓名")
    If FileSys.DirectoryExists( path  & dr("客户姓名")) Then
        For Each File As String In FileSys.GetFiles( path  & dr("客户姓名"))
            Dim name() As String = FileSys.GetName(file).split("-")
            
            If name.length > 1
                If FileSys.FileExists(path  & "\" & zpxghmc & name(1))=False Then
                    If t.Current IsNot Nothing Then
                        FileSys.RenameFile(file, zpxghmc & name(1))
                        'MessageBox.Show( zpxghmc & zpxghmc =dr("客户姓名"))
                    End If
                End If
            End If
        Next
    Else
        MessageBox.Show("要修改的文件夹不存在!", "提示")
        Return
    End If
    
    MessageBox.Show("照片名称修改成功!", "提示")
End If



甜老师这段代码呢有问题?运行后如果修改的名称和要修改的名称一样时会出错,怎么处理一下呢?


图片点击可在新窗口打开查看此主题相关图片如下:错误提示.png
图片点击可在新窗口打开查看


第一次修改时能成功,第二次修改时提示文件名称在报错,怎么处理一下呢?

[此贴子已经被作者于2019/1/9 20:55:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/9 21:14:00 [只看该作者]

If FileSys.FileExists(path  & "\" & zpxghmc & name(1))=False Then

 

改成

 

If FileSys.FileExists(path & dr("客户姓名") & "\" &  zpxghmc & name(1)) = False Then

 


 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/1/9 21:31:00 [只看该作者]

谢谢甜老师
 
再请教一个问题,,这样只能一个一个得修改文件名,太麻烦了! 能一次性将所有符合条件的文件一次性更改吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/9 21:42:00 [只看该作者]

以下是引用裴保民在2019/1/9 21:31:00的发言:
谢谢甜老师
 
再请教一个问题,,这样只能一个一个得修改文件名,太麻烦了! 能一次性将所有符合条件的文件一次性更改吗?

 

你的意思是循环表格的每一行,然后去修改?

 

那你写成 for each r as row in tables("客户资料").rows


 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/1/9 21:48:00 [只看该作者]

Dim path =  ProjectPath  & "测试图片\"
Dim zpxghmc As String
Dim khmc As String
Dim dr = Tables("客户资料").Current
Dim t As  Table = Tables("客户资料")
If dr Is Nothing Then '如果没找到的话
    MessageBox.Show("数据库中无数据,无效操作!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    Return
Else
    zpxghmc =dr("客户姓名")
    If dr.IsNull("身份证号") = False Then
        zpxghmc =zpxghmc & right(dr("身份证号"),6) & "-"
    Else
        zpxghmc = zpxghmc & "-"
    End If
    khmc =t.Current("客户姓名")
    If FileSys.DirectoryExists( path  & dr("客户姓名")) Then
        For Each File As String In FileSys.GetFiles( path  & dr("客户姓名"))
            Dim name() As String = FileSys.GetName(file).split("-")
            
            If name.length > 1
               ' If FileSys.FileExists(path  & "\" & zpxghmc & name(1))=False Then
                If FileSys.FileExists(path & dr("客户姓名") & "\" &  zpxghmc & name(1)) = False Then
                    If t.Current IsNot Nothing Then
                        FileSys.RenameFile(file, zpxghmc & name(1))
                       FileSys.CopyFile(file, ProjectPath  & "复制到文件夹/" & name(1), True)    甜老师这句代码对吗?怎么不将修改好的图片复制到“复制到文件夹”下呢?
                      End If
                End If
            End If
        Next
    Else
        MessageBox.Show("要修改的文件夹不存在!", "提示")
        Return
    End If
    
    MessageBox.Show("照片名称修改成功!", "提示")
End If

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/1/9 21:49:00 [只看该作者]

对,修改那句代码呢?
[此贴子已经被作者于2019/1/9 21:50:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/9 21:50:00 [只看该作者]

改成

 

FileSys.CopyFile(file, ProjectPath  & "复制到文件夹/" & name(1), True)
FileSys.RenameFile(file, zpxghmc & name(1))



 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/1/9 22:01:00 [只看该作者]

甜老师这样我运行后,如如文件夹内的文件和修改的文件名不符就会报错,刚才是如果一样时报错,现在是不一样时报错



图片点击可在新窗口打开查看此主题相关图片如下:错误提示二.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/1/9 22:03:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/9 22:19:00 [只看该作者]

这两句代码不可能有问题的,加入msgbox弹出各个值看一下。

 

FileSys.CopyFile(file, ProjectPath  & "复制到文件夹/" & name(1), True)
FileSys.RenameFile(file, zpxghmc & name(1))


 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/1/9 22:22:00 [只看该作者]

刚才弹出错误框了,不知道怎么回事,现在有没事了

 回到顶部
总数 21 1 2 3 下一页