我需要在Perl中编写一个函数,在特定位置及其子目录(让我们称之为targetroot)下删除所有带有.rc
后缀的文件。使用Perl,我如何查找和删除具有特定后缀的文件?
我在NT env工作,所以我不能使用系统命令,如find
或rm
。 我已经厌倦了取消链接并找到选项,但没有管理。
我曾尝试是:
print "\n<<< Removing .rc files from $targetRoot\\20140929_231622 >>>\n";
my $dir = "$targetRoot\\20140929_231622";
find(\&wanted, $dir);
sub wanted
{
unlink glob "*.rc";
}
有人能告诉我该怎么办呢?
你的意思运行它这样呢? sub RemoveRC { \t print“\ n <<< \t从$ targetRoot \\ 20140929_231622 \t >>> \ n”中删除.rc文件; \t my $ dir =“$ targetRoot \\ 20140929_231622”;找到(\\想要的,$ dir); sub wanted {0} {0} {0}设置为文件名; $ File :: Find :: name设置为完整路径。 (m/\。rc \ Z /){ print“Removing $ File :: Find :: name \ n”; #unlink($ File :: Find :: name); } } } – user3720181 2014-09-30 11:31:11
呃。我想是这样。良好的做法总是在运行某人代码时注释掉“危险的部分”。我很确定这会工作,但我只是互联网上的一些人。看看'unlink'看看它打印的内容是'会删除'。如果你感到快乐,那就把它放回去。 – Sobrique 2014-09-30 11:32:33
@SinanÜnür:Windows文件名可能不包含控制字符,所以'\ z','\ Z'和'$'都很好。 – Borodin 2014-09-30 14:34:19