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


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

主题:关于文件命名

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/27 22:13:00 [显示全部帖子]

Dim path = "c:\"
For Each File As String In FileSys.GetFiles(path)
    Dim name As String = FileSys.GetName(file)
    If name.contains("张三123QOPS") Then
        Dim nname = name.replace("QOPS", "UOPE")
        If FileSys.FileExists(path & nname)=False Then
            FileSys.RenameFile(file, nname)
        End If
    End If
Next

甜老师经过测试出现下面问题

假如文件夹中有“张三123QoPs”、“李四123QoPser”、“王三123QoPsert” 红色的是有数据表商户简码来的当他发生变化后才将文件名重新修改的。问题是:如果修改 “张三123QoPs红色部分 其他两个文件不会修改;如果修改“李四123QoPser”的红色部分时“王三123QoPsert” 的红色部分也被修改了;如果修改“张三123QoPs”的红色部分时“李四123QoPser”、“王三123QoPsert” 两个红色部分也会被修改的,怎么才能避免这种情况出现呢?

备注:文件名是由数据表中好几个字段拼起来的一个字符串作为文件名的前缀+"-"+"特定字符串"组成的。其中红色字部分是其中一个字段,当他变化时文件名称也随着变化



[此贴子已经被作者于2018/12/27 22:32:42编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/27 23:18:00 [显示全部帖子]

有一个“商户表”字段有“法人姓名”、"身份证后六位"、“商户名称”、“商户名称简称”、“所属系统平台简称”、“图片”等字段组成.
程序文件夹中有一个放置图片的文件夹“照片”文件夹放置很多照片每位商户有好几张照片
命名规则是“法人姓名”+"身份证后六位"+“商户名称简称”+“所属系统平台简称”+“-”+“特定名字”组成

我的意思是当“商户名称简称”发生变化后将“照片”文件夹中这位商户名下的所有照片修改成符合条件的新名称
不知道怎么实现

我是在DataColChanging里编写代码的当“商户名称简称”发生变化后立即修改图片名称,只要把该商户名下所有的照片找出来修改就可以了,不知道这个思路有为题吗?

[此贴子已经被作者于2018/12/27 23:22:49编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/27 23:56:00 [显示全部帖子]

甜老师您看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图片名称操作.rar



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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/28 11:39:00 [显示全部帖子]

这个思路好怎样用一列,记录对应的匹配的文件名。?这样就不用来回更改名了

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/28 11:52:00 [显示全部帖子]

真的做不了因为文件名挺长的再一个就是文件夹中图片有七八千张图片每个商户对应的图片张数有不一样多该怎么处理呢?
以前就是因为图片无法区分到底是绑定到哪个商户才起了这么长的名字呢?就是商户名老改变所以一改变图片就连不上了所以这要文件名变化了文件名就随着商户名的不会而变化。您的思路要好很多不过我弄不了,麻烦看看
[此贴子已经被作者于2018/12/28 11:57:39编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/28 13:14:00 [显示全部帖子]

不需要记录每一张图片的名称,只需要记录特征即可啊。你也可以理解成这一列,记录你最初的 商户名、身份证 等列的信息,无论你其它列怎么变,记录最初的值,用于找到图片。
以前用客户姓名+身份证后几位来标识,后老发现一个客户有好几个商户所有满足不了标识的唯一性,所以又加上了商户名简称、所属平台简称+子系统等字段最后发现商户名老是改变,已改变图片就连不上了,不知道用什么来标识,请甜老师指导一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图片名称操作.rar


[此贴子已经被作者于2018/12/28 13:15:19编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/28 15:47:00 [显示全部帖子]

是不是第一次入库的时候就将就将这个原始的文件名保存到这里,以后每次改的时候这个值都不变对吗甜老师?
[此贴子已经被作者于2018/12/28 15:47:11编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/28 16:05:00 [显示全部帖子]

谢谢甜老师

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/28 16:33:00 [显示全部帖子]

Dim dlg As New FolderBrowserDialog
Dim czkh As DataRow
If dlg.ShowDialog = DialogResult.Ok Then
    MessageBox.Show("你选择的目录是:" & dlg.SelectedPath,"提示")
    For Each dr As DataRow In DataTables("商户资料表").Select("法人姓名 is not null")
        Dim str As String = dr("法人姓名")
        czkh =DataTables("客户资料").find("客户姓名= '" & str & "'")  '精确查找
       If czkh.isnull("身份证号") = False Then
            str = str & right(czkh ("身份证号"),6) 
        End If
        If dr.isnull("通道简称") = False Then
            str = str & dr("通道简称")
        End If
        If dr.isnull("子系统") = False Then
            str = str & dr("子系统")
        End If
        If dr.isnull("商户名称简称") = False Then
            str = str & dr("商户名称简称")
        End If
        For Each file As String In FileSys.GetFiles(dlg.SelectedPath)
            Dim name As String = FileSys.GetName(file)
            If name.Contains(str) Then
                FileSys.CopyFile(file, ProjectPath & "照片\商户经营照片/" & name, True)
                Dim ls = dr.Lines("商户照片")
                If ls.contains(name) = False Then
                    ls.add(name)
                    dr.lines("商户照片") = ls
                End If
            End If
        Next
    Next
    DataTables("商户资料表").datacols("商户照片").DefaultFolder  = ProjectPath & "照片\商户经营照片/"
End If
我在绑定照片的时候写了以上代码,是不是也得改了吗?把蓝色的的部分改成“新增的字段”因为红色的部分客户几乎是不会改的
[此贴子已经被作者于2018/12/28 16:36:39编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2018/12/28 20:35:00 [显示全部帖子]

Dim t As Table = Tables("客户档案")
Dim zpysmc As String  = t.current("商户名称") & t.current("身份证") & t.current("序号" )& "-"
For Each dr As DataRow In DataTables("客户档案").Select("商户名称 is not null")
    Dim ls As List(Of String) = dr.lines("照片原始名称")
    For Each s As String In ls        
        t.current("照片原始名称")= zpysmc
        Exit For
  Next
dr.Lines("照片原始名称") = ls
Next

这段代码哪错了?给照片原始名称字段赋不了值呢

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