我在主目录下面有几个子目录,每个子目录包含一个或两个文本文件。我需要将这些文本文件复制到另一个目录。
这是我编码的方式。但它似乎不起作用。我能做什么?这样做有直接的方法吗?
#!/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.";
}
}
答案 0 :(得分:1)
这在单行Perl程序中很简单
perl -MFile::Copy=copy -e'copy($_, "/d/work/abcd") for </d/work/abc/*/*.txt>'