【问题标题】:How to access files in subdirectories?如何访问子目录中的文件?
【发布时间】:2015-07-24 05:00:54
【问题描述】:

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

这是我的编码方式。但这似乎不起作用。我能做些什么?有没有直接的方法可以做到这一点?

#!/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.";   
    }
}

【问题讨论】:

  • 这里有问题吗?
  • @EricRenouf 嗨,我刚刚编辑了问题。
  • 你需要编写一个递归遍历过程。否则将无法正常工作。

标签: perl copy directory-structure


【解决方案1】:

这在一行 Perl 程序中很简单

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

【讨论】:

    猜你喜欢
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多