以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请教拷贝文件命令  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77503)

--  作者:蓝色海洋2
--  发布时间:2015/11/19 13:12:00
--  [求助]请教拷贝文件命令
这次问一个专业一点的问题,请问,拷贝几个文件名相似的文件到另一个文件夹中,可以用什么命令,可以使用通配符吗?
--  作者:Hyphen
--  发布时间:2015/11/19 13:57:00
--  

例如拷贝所有文件名为"订单"开头的Execl文件

 

Dim files() As String  = System.IO.Directory.GetFiles("F:\\源目录", "订单*.xls")

For Each file As String In files
    FileSys.CopyFile(file ,"f:\\目标目录\\" & FileSys.GetName(file) , True) 
Next


--  作者:蓝色海洋2
--  发布时间:2015/11/22 11:41:00
--  
谢谢,以上命令已经验证成功,接下来怎样用数据表第一列的数据替换‘’订单“,完成第一列各行内容开头的文件拷贝。下面的命令执行不了,请指教
If e.Col.Name = "第一列" Then

 

Dim files() As String  = System.IO.Directory.GetFiles("F:\\源目录", "订单*.xls")

For Each file As String In files
    FileSys.CopyFile(file ,"f:\\目标目录\\" & FileSys.GetName(file) , True)  
Next


End If

--  作者:大红袍
--  发布时间:2015/11/22 14:05:00
--  
If e.Col.Name = "第一列"  Then
    If e.Row.IsNull(e.Col.Name) Then
       
    Else
        Dim files() As String  = System.IO.Directory.GetFiles("F:\\源目录", e.Row(e.Col.Name) & "*.xls")
       
        For Each file As String In files
            FileSys.CopyFile(file ,"f:\\目标目录\\" & FileSys.GetName(file) , True)
        Next
    End If
End If

--  作者:蓝色海洋2
--  发布时间:2015/12/6 11:09:00
--  
非常感谢!虽然没有完全理解编程语句,但是将‘第一列’,‘源目录’,‘XLS’, ‘目标目录’修改成我自己需要的内容,果然电脑就能替我完成复杂的拷贝了,再次感谢!
--  作者:蓝色海洋2
--  发布时间:2015/12/17 18:55:00
--  

追加一个问题,请问    Dim files() As String  = System.IO.Directory.GetFiles("F:\\源目录", e.Row(e.Col.Name) & "*.xls")
这个语句中,怎样修改或设置才能拷贝包括"F:\\源目录"下面的子目录中的文件。


--  作者:大红袍
--  发布时间:2015/12/17 19:25:00
--  

 这个,就必须用到递归。

 

载信息  [文件大小:292.0 KB  下载次数:84]
图片点击可在新窗口打开查看点击浏览该文件:文件递归.table


--  作者:wyz20130512
--  发布时间:2015/12/17 20:58:00
--  回复:(蓝色海洋2)[求助]请教拷贝文件命令
Dim dlg As New OpenFileDialog
dlg.Filter = "Word文件|*.doc"
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    Dim files() As String = dlg.FileNames \'注意此句代码不能上句代码互换位置.
    Dim fb_dlg As New FolderBrowserDialog \'定义文件夹对话框
    If fb_dlg.ShowDialog = DialogResult.OK Then
        For Each file As String In files
            FileSys.CopyFile(file,fb_dlg.SelectedPath & "\\" & FileSys.GetName(file),True)
        Next
    End If
End If

以上代码更具有通用性。

--  作者:蓝色海洋2
--  发布时间:2015/12/19 23:44:00
--  
多谢两位!正在学习验证中。