我有一个项目需要从ftp服务器中删除非空文件夹。我尝试过使用ftp.rmdir()
,但是收到了一条错误消息
文件夹不为空
然后我尝试使用ftp.rename()
方法移动目录,但是我收到了相同的错误消息。
有没有人知道这样做的好方法?
答案 0 :(得分:0)
答案 1 :(得分:0)
显然,FTP要求您递归删除所有文件。
她是人们如何做的一个很好的例子:
https://github.com/dsabanin/BetterFTP
def rm_r(path)
return if @deleted_paths_cache.include?(path)
@deleted_paths_cache << path
if directory?(path)
chdir path
begin
files = nlst
files.each {|file| rm_r "#{path}/#{file}"}
rescue Net::FTPTempError
# maybe all files were deleted already
end
rmdir path
else
rm(path)
end
端