如何访问子目录中的文件?

时间:2015-05-12 16:44:32

标签: perl copy directory-structure

我在主目录下面有几个子目录,每个子目录包含一个或两个文本文件。我需要将这些文本文件复制到另一个目录。

这是我编码的方式。但它似乎不起作用。我能做什么?这样做有直接的方法吗?

#!/usr/bin/perl
use File::Copy;
my $directorypath;
opendir (DIR, '/d/work/abc') or die "cannot open path $!";
my @maindirectory = readdir (DIR);
closedir (DIR);

foreach my $subdirectorypath (@maindirectory)
{
    $subdirectorypath = join '', '/d/work/abc', $directorypath;
    chdir '$directorypath';
    my @textfile = glob "*.txt";
    foreach (@textfile)
    {
     $copiedfile = "/d/work/abcd/$_.txt."; #destination path 
     copy($_, $copiedfile) or die "File cannot be copied.";   
    }
}

1 个答案:

答案 0 :(得分:1)

这在单行Perl程序中很简单

perl -MFile::Copy=copy -e'copy($_, "/d/work/abcd") for </d/work/abc/*/*.txt>'