如何取消链接Windows文件夹与空格?

时间:2011-08-04 01:57:09

标签: perl

我正在尝试删除与我们的命名标准不匹配的文件和文件夹。好吧,我似乎可以遍历一系列收集的文件和文件夹,这些文件和文件夹不匹配并删除它们。我遇到的问题是我无法删除其中包含空格的文件。我在带有Strawberry Perl的Windows上运行。

以下是数组的示例

Picture.jpg
Sample Document.doc
New Folder

在此示例中,我唯一可以成功删除的是Picture.jpg

这是函数

foreach my $folder (@$returned_unmatches) {
    print "$folder\n";
    remove_root_junk($office,$folder);
}

这是子程序。

sub remove_root_junk {

my $office = shift;

my $folder = shift;

my $order_docs_path = $office_names{$office};

unlink "$order_docs_path\\$folder";

}

$order_docs_path只是我工作地点的完整路径。在这种情况下C:\Data\Locations\Canton\Order_Documents如果有这个帮助的话。

1 个答案:

答案 0 :(得分:3)

在正常情况下,不支持直接取消链接目录。 unlink的文档说:

  

注意:除非您是超级用户且 -U 标志提供给Perl,否则unlink不会尝试删除目录。即使满足这些条件,也要警告取消链接目录可能会对文件系统造成损害。最后,许多操作系统不支持在目录上使用unlink。请改用rmdir

如果您的子目录不为空,则rmdir文档建议在File::Path中使用rmtree