以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 搜索指定文件夹中的文件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131565)

--  作者:sanny
--  发布时间:2019/3/1 12:38:00
--  [求助] 搜索指定文件夹中的文件

版主,窗口中一个订单表A, 表中有订单号 ,如A1,A2,A3.. 每个订单中包含多个产品,比如

 

订单号   产品名称

A1          AD

A1          AB

A2          AH

A2          AZ

 

如何根据表中的产品名称找到  C盘中所有以 产品名称命名的 PDF文件并复制到批定的文件中,这个文件夹以订单号来命名,每个订单号包含相应的PDF.

 

 


--  作者:有点甜
--  发布时间:2019/3/1 14:56:00
--  
Dim t As Table = Tables("表A")
For Each r As Row In t.Rows
    For Each file As String In FileSys.GetFiles("C:\\")
        If file.EndsWith(".pdf") Then
            If file.EndsWith(r("产品名称") & ".pdf") Then
                FileSys.CopyFile(file, "d:\\" & r("订单号") & "\\" & r("产品名称") & ".pdf", True)
            End If
        End If
    Next
Next

--  作者:sanny
--  发布时间:2019/3/2 12:04:00
--  

版主, 有个问题我的订单号是这样的 MYPL-18/05/03-00029 ,当生成文件夹时,生成MYPL-18目录下再包含目录50,里面再包含了目录03-00029。因为不支持/

 

如何让它生成 MYPL-18-05-03-00029 一个目录呢 ?


--  作者:有点蓝
--  发布时间:2019/3/2 14:15:00
--  
FileSys.CopyFile(file, "d:\\" & r("订单号").replace("/","-") & "\\" & r("产品名称") & ".pdf", True)
--  作者:sanny
--  发布时间:2019/3/2 14:42:00
--  

版主,谢谢。另外还有碰到两个问题

 

1.  设定C:\\PDF后,只能在这个根目录下查找,如果这个PDF目录中还有很多目录,子目录,可以设定查找PDF下所有所目录,文件吗?

 

2. 只要拷贝成工,就 把“找到”定入表A 的列名“存在”,如果没有,就写“没有找到”, 这个没有找到用红色字体,这样可以吗?

 

麻烦了。


--  作者:有点蓝
--  发布时间:2019/3/2 14:52:00
--  
1、递归遍历:



--  作者:sanny
--  发布时间:2019/3/2 15:19:00
--  

版主,我改了下,也不对。能帮忙改一下吗?

 

Dim t As Table = Tables("找找")
For Each r As Row In t.Rows

       For  Each file  As  String In FileSys.GetDirectories("z:\\")

        If file.EndsWith(".pdf") Then
            If file.EndsWith(r("FshortNumber") & ".pdf") Then
               \' FileSys.CopyFile(file, "d:\\" & r("FbillNo") & "\\" & r("FshortNumber") & ".pdf", True)
                FileSys.CopyFile(file, "D:\\administrator\\Desktop\\Foxtable\\查图纸工具\\管理项目1\\" & r("FbillNo").replace("/","-") & "\\" & r("FshortNumber") & ".pdf", True)
            End If
        End If
    Next
Next

 


--  作者:有点蓝
--  发布时间:2019/3/2 16:44:00
--  
代码有什么问题,运行有什么错误?
--  作者:sanny
--  发布时间:2019/3/2 16:49:00
--  
只能找在z:根目录中的文件,z盘中还有其它目录所需查找,找到后把找到写入 表A 列名“找找”
--  作者:有点蓝
--  发布时间:2019/3/2 17:15:00
--  

Dim t As Table = Tables("找找")
For Each r As Row In t.Rows
    For  Each dir As  String In FileSys.GetDirectories("z:\\")
        For  Each file  As  String In FileSys.GetFiles(dir)
            If file.EndsWith(".pdf") Then
                If file.EndsWith(r("FshortNumber") & ".pdf") Then
                    \' FileSys.CopyFile(file, "d:\\" & r("FbillNo") & "\\" & r("FshortNumber") & ".pdf", True)
                    FileSys.CopyFile(file, "D:\\administrator\\Desktop\\Foxtable\\查图纸工具\\管理项目1\\" & r("FbillNo").replace("/","-") & "\\" & r("FshortNumber") & ".pdf", True)
                End If
            End If
        Next
    Next
    For  Each file  As  String In FileSys.GetFiles("z:\\")
        If file.EndsWith(".pdf") Then
            If file.EndsWith(r("FshortNumber") & ".pdf") Then
                \' FileSys.CopyFile(file, "d:\\" & r("FbillNo") & "\\" & r("FshortNumber") & ".pdf", True)
                FileSys.CopyFile(file, "D:\\administrator\\Desktop\\Foxtable\\查图纸工具\\管理项目1\\" & r("FbillNo").replace("/","-") & "\\" & r("FshortNumber") & ".pdf", True)
            End If
        End If
    Next
Next