0

perl スクリプトで「rmdir」のみを使用して、ディレクトリ内のすべてのファイルを削除したいと考えています。最初にディレクトリをクリーンアップしてから、ファイルを書き込もうとしています。rmtree (" directory path"); を使用できることはわかっています。しかし、私はそれをFTPサーバーに使用できません(Net::FTP;を使用してください)。rmdir は空のディレクトリを探します。「remove_tree」と「rm -rf」を試しました。サーバーへの読み取り/書き込みアクセス権はありますが、ファイルを削除できません。

Perl スクリプト:

finddepth (\&remove_dir, "$path");
rmdir ( "$path" ) or die ("Could not remove $path");

sub remove_dir
{
  # for a path, this will be 0
  if ( ! (stat("$File::Find::name"))[7] ) 
  { $ftp->rmdir("$File::Find::name"); }
  else
  { $ftp->unlink("$File::Find::name"); }
}
4

1 に答える 1

0
$ftp->rmdir($dir_name, 1);

https://metacpan.org/pod/Net::FTP#rmdir-DIR-RECURSE

于 2014-06-27T14:31:18.610 に答える