以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何批量删除远程文件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122851)

--  作者:天蝉一线
--  发布时间: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这个文件目录下面所有的文件,不知道代码怎么写


--  作者:有点甜
--  发布时间:2018/8/3 10:05:00
--  

不是可以删除目录么?

 

DeleteDir

删除FTP上的目录,语法:

DeleteDir(DirName,AnyWay)

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

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


--  作者:天蝉一线
--  发布时间:2018/8/3 12:01:00
--  
如果我要删除 ftp1.deletefile("\\update\\asd\\Desert.jpg") = True Then
最后一级目录下的文件,该怎么做,
我前面试过,删除后把\\update\\asd\\也删除了,我需要保留\\update\\asd\\目录。

--  作者:有点甜
--  发布时间:2018/8/3 12:27:00
--  
删除以后,再新建一个目录,不就好了?
--  作者:天蝉一线
--  发布时间:2018/8/3 12:39:00
--  
不行呀,我的这个目录是这样设计的,\\update\\asd0001,\\update\\asd0002,删除的时候要保留\\update,实际删除\\update\\asd0001的时候,把\\update包括下面的子目录全删除了,不知道怎么设置代码
--  作者:天蝉一线
--  发布时间:2018/8/3 12:41:00
--  
我就想知道,ftp1.deletefile("\\update\\asd\\Desert.jpg") 删除update\\asd\\目录下所有的文件,代码怎么写


--  作者:天蝉一线
--  发布时间:2018/8/3 12:43:00
--  
用ftp1.deletefile("\\update\\asd\\*.*“)试了一下,不行
--  作者:天蝉一线
--  发布时间:2018/8/3 15:23:00
--  
怎么没人回答
--  作者:有点甜
--  发布时间: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


--  作者:天蝉一线
--  发布时间:2018/8/3 18:12:00
--  
明白了