perl的rmtree()无法删除win32上的目录,第二次尝试成功

时间:2010-02-09 19:52:01

标签: windows perl

在Perl中,我做了一个:

rmtree($myfolder);

通常这会在Windows上失败。再次运行时,它会成功。似乎某种程度上删除文件夹中的文件需要一段时间,并且它会在文件消失之前尝试删除文件夹。

是否有一个“这个实际工作”的Perl方法在Windows上擦除包含其所有内容的目录?

3 个答案:

答案 0 :(得分:2)

您是否正在运行病毒扫描程序?如果它正在扫描文件,则打开文件。 Windows不允许您删除由其他进程打开的文件/目录。

答案 1 :(得分:2)

@OP,无论何时发生,总是检查是否可以处理这些错误。见perldoc File::Path。在remove_tree()下,您可以使用verboseerror => \$err向您显示遇到的错误。

答案 2 :(得分:2)

我接手了一段时间并且大大改善了File::Remove,这对删除事物更加极端和偏执。

它可能会做你想要的。

如果它不让我知道,我会改进它。