以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]删除目录 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65633) |
-- 作者:liujywwy -- 发布时间:2015/3/19 16:04:00 -- [求助]删除目录 当子目录里面的文件为空,那就把当前的子目录删除。 Dim ftp As New FtpClient Dim dls As List(of String) ftp.Host="192.168.1.35" ftp.Account = "tester" ftp.Password = "tester" Dim lj As String = "/待用户现场确认版本_产线禁止使用/2015/" & Tables("临时版本跟踪表").current("临时版本编号") & "(" & Tables("临时版本跟踪表").current("客户") & "_" & Tables("临时版本跟踪表").current("博达机型") & ")" dls = ftp.GetDirList("lj") msgbox(lj) For Each dl As String In dls If (lj & "/" & dl). count<= 1 Then ftp.DeleteDir(lj & "/" & dl) End If Next--------------红色的改怎么写,主要是判断子目录里面文件的个数。 ftp.Close Forms("FTP管理器").close 比如待用户现场确认版本_产线禁止使用\\2015\\11130_2014(TELESTE AB_S2528gx)下面有这么多按照时间建立的子目录。如果某几个子目录下的文件为空,然后自动删除这个子目录。
|
-- 作者:Bin -- 发布时间:2015/3/19 16:06:00 -- http://www.foxtable.com/help/topics/1410.htm GetFileList 用于返回FTP服务器指定目录下的全部文件名,以字符串集合的形式返回,语法: GetFileList(Path) Path:可选参数,用于指定目录,如果省略,则返回当前目录下的全部文件名。 示例 例如列出photo目录下的所有文件: Dim ftp1 As New FtpClient 还可以使用通配符,例如列出photo目录下的所有jpg文件: Dim ftp1 As New FtpClient GetDirList 用于返回FTP服务器指定目录下的全部子目录,以字符串集合的形式返回,语法: GetDirList(Path) Path:可选参数,用于指定目录,如果省略,则返回当前目录下的全部子目录名。 示例 Dim ftp1 As New FtpClient |
-- 作者:有点甜 -- 发布时间:2015/3/19 16:08:00 -- Dim ftp As New FtpClient
|
-- 作者:liujywwy -- 发布时间:2015/3/19 16:38:00 -- 效果不对,并没有删除为空的子目录。 Dim ftp As New FtpClient Dim dls As List(of String) ftp.Host="192.168.1.35" ftp.Account = "tester" ftp.Password = "tester" Dim lj As String = "/待用户现场确认版本_产线禁止使用/2015/" & Tables("临时版本跟踪表").current("临时版本编号") & "(" & Tables("临时版本跟踪表").current("客户") & "_" & Tables("临时版本跟踪表").current("博达机型") & ")" dls = ftp.GetDirList("lj") msgbox(lj)-------已执行 For Each dl As String In dls msgbox(dl)---未执行,应该是把dls中的每个元素都列出来才对。 If ftp.GetFileList(lj & "/" & dl).Count < 2 Then ftp.DeleteDir(lj & "/" & dl) End If --------这个if判断未删除为空的子目录。 Next ftp.Close Forms("FTP管理器").close
|
-- 作者:有点甜 -- 发布时间:2015/3/19 18:04:00 -- 这句写错了啊 dls = ftp.GetDirList("lj")
看3楼
|
-- 作者:liujywwy -- 发布时间:2015/3/19 18:38:00 -- 还是没删除啊。 Dim ftp As New FtpClient Dim dls As List(of String) ftp.Host="192.168.1.35" ftp.Account = "tester" ftp.Password = "tester" Dim lj As String = "/待用户现场确认版本_产线禁止使用/2015/" & Tables("临时版本跟踪表").current("临时版本编号") & "(" & Tables("临时版本跟踪表").current("客户") & "_" & Tables("临时版本跟踪表").current("博达机型") & ")" dls = ftp.GetDirList(lj) msgbox(lj) For Each dl As String In dls If ftp.GetFileList(lj & "/" & dl).Count < 1 Then ftp.DeleteDir(lj & "/" & dl) msgbox(dl)-----弹出的文件夹名称是对的,但却没删除。 End If Next ftp.Close Forms("FTP管理器").close
|
-- 作者:有点甜 -- 发布时间:2015/3/19 19:30:00 -- ftp.DeleteDir(lj & "/" & dl, True)
DeleteDir 删除FTP上的目录,语法: DeleteDir(DirName,AnyWay) DirName:要删除的目录名称。 如果删除成功,返回True,否则返回False
|
-- 作者:新福星 -- 发布时间:2016/7/9 5:23:00 -- 我也遇到这种情况,用FTP ftp.DeleteDir(mlm, True) 这个命令空目录无法删除! |
-- 作者:Hyphen -- 发布时间:2016/7/9 9:27:00 -- 测试没有问题。 有时候操作系统就是这样,删除了,目录却还在,这个没有办法的。用的时候判断一下吧
|