Foxtable(狐表)用户栏目专家坐堂 → 如何批量删除远程文件


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

主题:如何批量删除远程文件

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


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
如何批量删除远程文件  发帖心情 Post By:2018/8/3 7:51:00 [只看该作者]

Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
If ftp1.deletefile
("\update\Desert.jpg") = True Then
   
Messagebox.show("删除完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
   
Messagebox.show("删除失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

这是单独删除一个文件的例子,怎么去删除update这个文件目录下面所有的文件,不知道代码怎么写


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/3 10:05:00 [只看该作者]

不是可以删除目录么?

 

DeleteDir

删除FTP上的目录,语法:

DeleteDir(DirName,AnyWay)

DirName:要删除的目录名称。
AnyWay:可选参数,如果设为True,将删除目录下的文件及其子目录,如果省略此参数,则只有此目录为空的时候,才能删除。

如果删除成功,返回True,否则返回False


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


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2018/8/3 12:01:00 [只看该作者]

如果我要删除 ftp1.deletefile("\update\asd\Desert.jpg") = True Then
最后一级目录下的文件,该怎么做,
我前面试过,删除后把\update\asd\也删除了,我需要保留\update\asd\目录。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/3 12:27:00 [只看该作者]

删除以后,再新建一个目录,不就好了?

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


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2018/8/3 12:39:00 [只看该作者]

不行呀,我的这个目录是这样设计的,\update\asd0001,\update\asd0002,删除的时候要保留\update,实际删除\update\asd0001的时候,把\update包括下面的子目录全删除了,不知道怎么设置代码

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


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2018/8/3 12:41:00 [只看该作者]

我就想知道,ftp1.deletefile("\update\asd\Desert.jpg") 删除update\asd\目录下所有的文件,代码怎么写


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


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2018/8/3 12:43:00 [只看该作者]

用ftp1.deletefile("\update\asd\*.*“)试了一下,不行

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


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2018/8/3 15:23:00 [只看该作者]

怎么没人回答

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/3 15:30:00 [只看该作者]

删除这个目录 \update\asd

 

再增加这个目录 \update\asd

 

没有删除全部文件的方法,除非你遍历每一个文件然后删除

 

GetFileList

用于返回FTP服务器指定目录下的全部文件名,以字符串集合的形式返回,语法:

GetFileList(Path)

Path:可选参数,用于指定目录,如果省略,则返回当前目录下的全部文件名。

示例

例如列出photo目录下的所有文件:

Dim ftp1 As New FtpClient
Dim 
fls As List(of String
ftp1.Host=
"196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
fls = ftp1.GetFileList(
"\photo")
For Each 
fl As String In fls
    
Output.Show(fl)
Next

还可以使用通配符,例如列出photo目录下的所有jpg文件:

Dim ftp1 As New FtpClient
Dim 
fls As List(of String
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
fls = ftp1.GetFileList(
"\photo\*.jpg")
For Each 
fl As String In fls
    
Output.Show(fl)
Next


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


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2018/8/3 18:12:00 [只看该作者]

明白了

 回到顶部