以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]移动文件夹下面的子文件夹到指定位置  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=37122)

--  作者:8350
--  发布时间:2013/7/1 8:51:00
--  [求助]移动文件夹下面的子文件夹到指定位置
总文件夹  资料 下面有很多子文件夹(是以编号命名的),在这个子文件夹下面有很多文件和一个分子文件夹还是以编号命名的。

现在想把最后一层的编号文件夹移动到指定文件夹下


我写的公式是这样的:


For Each dr As DataRow In DataTables("表A").DataRows
     Dim fl As String =Vars("路径") & dr("编号") & "\\" & dr("编号")
     Dim f2 As String ="C:\\A\\" 
     FileSys.MoveFile(fl,f2,True)
Next

执行结果报错,为什么?

--  作者:Bin
--  发布时间:2013/7/1 8:54:00
--  
语法错误,请参考帮助 http://www.foxtable.com/help/topics/0339.htm
--  作者:8350
--  发布时间:2013/7/1 9:20:00
--  
哎呀,用变量路径不行呀。

那我改成这样还是不行呢?

For Each dr As DataRow In DataTables("表A").DataRows
     FileSys.MoveFile( Vars("路径") & dr("编号") & "\\" & dr("编号") , "C:\\A\\" )
Next

请注意,我是要移动最后一层的文件夹哦,不是一个文件
[此贴子已经被作者于2013-7-1 9:25:17编辑过]

--  作者:Bin
--  发布时间:2013/7/1 9:54:00
--  
MoveFile 是移动文件,是无法移动文件夹的


--  作者:8350
--  发布时间:2013/7/1 10:02:00
--  
怎么感觉这么复杂,
那我改成这样还是不行呢?效果是将最后一层文件夹下的文件全部移动过去了我要的是将最后一层文件夹和里面的信息直接移动,包含最后一个编号文件夹一起哦!!!

For Each dr As DataRow In DataTables("表A").DataRows
     FileSys. MoveDirectory ( Vars("路径") & dr("编号") & "\\" & dr("编号") , "C:\\A\\" )
Next
要移动的是最后红色代码的文件夹以及所属的所有信息哦。哥哥看看怎么理解

--  作者:Bin
--  发布时间:2013/7/1 10:07:00
--  

MoveDirectory

将目录中的内容移到另一个目录,并删除原目录。


你只是希望移动里面的文件而不删除原来的文件夹可以重新创建一个.



或者



你可以循环文件夹里面的所有文件 然后使用MoveFile




--  作者:8350
--  发布时间:2013/7/1 10:11:00
--  
我是想将要移动的文件夹一起移动,其他没有。

例如:c:\\编号\\编号  ----将红色编号的文件夹和其包含的内部文件一起移动到指定文件内哦


--  作者:Bin
--  发布时间:2013/7/1 10:17:00
--  
那么用MoveDirectory 有什么问题? 不能满足你需求吗?
--  作者:8350
--  发布时间:2013/7/1 10:26:00
--  
是的,按
For Each dr As DataRow In DataTables("表A").DataRows
     FileSys. MoveDirectory ( Vars("路径") & dr("编号") & "\\" & dr("编号") , "C:\\A\\" )
Next

执行后他是将    红色   文件夹下的信息移动出去,却删除了红色文件夹了,这样就没有达到我的效果。

此主题相关图片如下:无标题.png
按此在新窗口浏览图片

--  作者:Bin
--  发布时间:2013/7/1 10:28:00
--  
参考我6楼  两个办法都可行.