Foxtable(狐表)用户栏目专家坐堂 → [求助]处理文件代码


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

主题:[求助]处理文件代码

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]处理文件代码  发帖心情 Post By:2016/9/1 9:39:00 [只看该作者]

D:\项目     文件夹中有如下*.doc文件:

第1号-aaa.doc
第1号-bbb.doc
第1号-ccc.doc
......
第2号-hhh.doc
第2号-ddd.doc
第2号-eee.doc
......

文件名的前缀是以 “-” 作为分界,想将文件名 “-” 前含有相同字符串的文档,放入用 “-” 前的字符串命名的文件夹中:

例如:
 把“ 第1号-aaa.doc  |  第1号-bbb.doc   |  第1号-ccc.doc”   这三个文件  放入“第1号”文件夹;
其余类推。

已经看了FileSys类型用于处理文件和目录的方法,但不知道如何写。请指教!谢谢!





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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/1 9:50:00 [只看该作者]

Dim dir As String = "D:\项目"
For Each file As String In FileSys.GetFiles(dir)
    Dim filename As String = FileSys.GetName(file)
    Dim arr() As String = filename.Split("-")
    Dim subdir As String = dir & "\" & arr(0)
    If Not FileSys.DirectoryExists(subdir) Then FileSys.CreateDirectory(subdir)
    FileSys.MoveFile(file,subdir & "\" & filename)
Next

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/1 10:01:00 [只看该作者]

谢谢版主!很好用。

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/1 10:46:00 [只看该作者]

版主,当文件夹中已经有该文件了,如果想加一个判断,  “是否覆盖移入?”   需要怎样改动代码


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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/1 11:00:00 [只看该作者]

http://www.foxtable.com/webhelp/scr/0337.htm


Dim dir As String = "D:\项目"
For Each file As String In FileSys.GetFiles(dir)
    Dim filename As String = FileSys.GetName(file)
    Dim arr() As String = filename.Split("-")
    Dim subdir As String = dir & "\" & arr(0)
    If Not FileSys.DirectoryExists(subdir) Then FileSys.CreateDirectory(subdir)
    Dim fg As Boolean = True
    If FileSys.FileExists(subdir & "\" & filename) Then
        If MessageBox.Show("是否覆盖?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No Then
            fg = False
        Else
            FileSys.DeleteFile(subdir & "\" & filename,2,3)
        End If
    End If
    If fg Then FileSys.MoveFile(file,subdir & "\" & filename)
Next

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/1 11:41:00 [只看该作者]

谢谢版主!很好用,但有些代码看不懂,先下载学习。

 回到顶部