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"); }
}