in reply to Re^3: ftp rmdir with all files
in thread ftp rmdir with all files

Hi zwon,
Yes i have rights to delete the directory manually i checked and its working fine. Please fidn code below.

{ my $ftp_remove = Net::FTP->new($ftpremove_host, Debug => 1); $ftp_remove->login($ftpremove_user, $ftpremove_pass); $ftp_remove->cwd($ftpremove_rootdir) or die "Can't change directory + ($ftpremove_rootdir):" . $ftp_remove->message; my $pwd_source = $ftp_remove->pwd; #print "$pwd_source\n"; my @ftp_details = $ftp_remove->ls($pwd_source); foreach my $file (@ftp_details) { if ($ftp_remove->isdir($file) eq "1") { $ftp_remove->rmdir($file,1) or die "Can't remove directory ($f +ile):" . $ftp_remove->message; print $ftp_remove->pwd." Removed folder $file\n"; } else { $ftp_remove->delete($file); #print "Removed $file\n"; } } $ftp_remove->quit(); }

I need to remove the previous date folders but some files are there.

drwxrwxrwx 6 ftpuser test 204 Jul 6 02:23 063009 drwxrwxrwx 2 ftpuser test 68 Jul 6 02:23 070109 drwxrwxrwx 7 ftpuser test 238 Jul 6 06:33 070509 drwxrwxrwx 6 ftpuser test 204 Jul 6 02:45 070609

Replies are listed 'Best First'.
Re^5: ftp rmdir with all files
by Marshall (Canon) on Jul 06, 2009 at 15:19 UTC
    Your FTP session looks bizarre to me. Very Bizarre. Do what the previous poster requested, terminal session - log it - post it.
Re^5: ftp rmdir with all files
by zwon (Abbot) on Jul 06, 2009 at 21:50 UTC

    It seems your code is correct, except that there's no isdir method in Net::FTP. There did you get it from?

      i used "isdir" conditon from use Net::FTP::File module.
      i did some trail and error method and i found that if the dir has no sub directories and it has only files then it removes the folder otherwise it's not removing the folder. Any chance to remove the folder and it's sub folder etc., in FTP.

        It works for me, it deletes directory with all its subdirectories without any problems. So now question is what ftp server you're using and what version of Net::FTP? Try to update Net::FTP.