4

我想从目录中删除所有子目录和文件,而不是目录本身。例如,如果我在变量中传递“Sample”目录,并且“Sample”目录包含三个子目录和 3 个文件,我想删除所有这 3 个目录和 3 个文件。实际上,“Sample”目录可以包含许多子目录和文件。

4

1 回答 1

9

ETA:这实际上是在 perlfaq5:如何删除目录树?

使用File::Path,核心模块。

perl -MFile::Path=remove_tree -we 
    'remove_tree("Sample",{keep_root=>1}) or die $!'

keep_root选项将导致 remove_tree 保留顶级目录:

keep_root => $bool

当设置为真值时,将导致所有文件和子目录被删除,除了最初指定的目录。这在清理应用程序的暂存目录时会派上用场。

于 2012-03-17T16:09:48.480 回答