Foxtable(狐表)用户栏目专家坐堂 → 关于删除文件夹中不符合条件的文件


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

主题:关于删除文件夹中不符合条件的文件

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
关于删除文件夹中不符合条件的文件  发帖心情 Post By:2019/2/27 22:30:00 [只看该作者]

怎么删除指定文件夹下的多余的文件呢?文件的命名是以数据库某列字段命名的,比如某列的列名是"文本文件"字段有A、B、C、D等等,指定的文件夹下有A、B、D、E、F、F1、S、S1、S2、S3、W、Q、R等等文件我怎么循环删除不符合条件的文件呢?即删除E、F、F1、S、S1、S2、S3、W、Q、R文件

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


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

参考

 

Dim dir As new io.DirectoryInfo("d:\")
For Each File As object In dir.GetFiles
    msgbox(file.name)
    'file.delete
Next


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


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

执行代码后把所有的图片全删了,怎么只删除数据库不存在图片呢?只要数据库中某子段名称存在就不删除了呢?

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


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

Dim dir As new io.DirectoryInfo("d:\")
Dim t As Table = Tables("表A")
For Each File As object In dir.GetFiles
    If t.DataTable.Find("第一列 like '%" & file.name & "%'") Is Nothing Then
        msgbox(file.name)
        'file.delete
    End If
Next

 


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/2/28 10:20:00 [只看该作者]

怎么还是删除了所有的照片呢?

Dim dir As new io.DirectoryInfo(ProjectPath & "照片\客户身份证/")
Dim t As Table = Tables("客户档案")
For Each File As object In dir.GetFiles
    If t.DataTable.Find("照片原始名 like '%" & file.name & "%'") Is Nothing Then
        msgbox(file.name)
        'file.delete
    End If
Next

[此贴子已经被作者于2019/2/28 10:20:54编辑过]

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


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

以下是引用裴保民在2019/2/28 10:20:00的发言:
怎么还是删除了所有的照片呢?

 

1、贴出代码;

 

2、截图或者具体实例说明。


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/2/28 10:29:00 [只看该作者]

打开程序打开窗体单击“删除多余图片”按钮,执行后是删除所有的照片了,我想要的结果是只删除文件夹照片\客户身份证/下所有文件名称中不包括"照片原始名 ”字段的所有照片

Dim dir As new io.DirectoryInfo(ProjectPath & "照片\客户身份证/")
Dim t As Table = Tables("客户档案")
For Each File As object In dir.GetFiles
    If t.DataTable.Find("照片原始名 like '%" & file.name & "%'") Is Nothing Then
        msgbox(file.name)
        'file.delete
    End If
Next

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



[此贴子已经被作者于2019/2/28 10:29:35编辑过]

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


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

Dim dir As new io.DirectoryInfo(ProjectPath & "照片\客户身份证/")
Dim t As Table = Tables("客户档案")
For Each File As object In dir.GetFiles
    Dim contains = False
    For Each r As Row In t.Rows
        If r("照片原始名") > "" AndAlso file.name.contains(r("照片原始名")) = True Then
            contains = True
            Exit For
        End If
    Next
    If contains = False Then
        msgbox(file.name)
'        file.delete
    End If
Next

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/2/28 11:06:00 [只看该作者]

Dim dir As new io.DirectoryInfo(ProjectPath & "照片\客户身份证/")
Dim t As Table = Tables("客户档案")
For Each File As object In dir.GetFiles
    Dim contains = False
    For Each r As Row In t.Rows
        If r("照片原始名") > "" AndAlso file.name.contains(r("照片原始名")) = True Then
            contains = True
            Exit For
        End If
    Next
    If contains = False Then
        msgbox(file.name)
        FileSys.CopyFile(file," C:\Users\Administrator\Desktop\照片\复制照片/"& file.name, True)
         file.delete
    End If
Next
我想在删除之前先复制到C:\Users\Administrator\Desktop\照片\复制照片/文件夹下,怎么复制不了呢?


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190228110732.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/2/28 11:08:01编辑过]

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


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

Dim dir As new io.DirectoryInfo(ProjectPath & "照片\客户身份证/")
Dim t As Table = Tables("客户档案")
For Each File As object In dir.GetFiles
    Dim contains = False
    For Each r As Row In t.Rows
        If r("照片原始名") > "" AndAlso file.name.contains(r("照片原始名")) = True Then
            contains = True
            Exit For
        End If
    Next
    If contains = False Then
        msgbox(file.name)
        If FileSys.DirectoryExists("C:\Users\Administrator\Desktop\照片\复制照片") = False Then
            FileSys.CreateDirectory("C:\Users\Administrator\Desktop\照片\复制照片")
        End If
        file.copyto("C:\Users\Administrator\Desktop\照片\复制照片\" & file.name, True)
        'file.delete
    End If
Next

 回到顶部