如何在perl中将文件夹从一个目录复制到另一个目录?

时间:2014-08-28 09:09:26

标签: perl

我想将文件夹从一个目录复制到另一个目录。

例如 我在D盘中有文件夹,例如Sample它本身包含很多文件夹。我想将这个示例文件夹及其子文件夹复制到其他驱动器。我已经做了一些事情,但它只复制了文件。

#!/usr/bin/env perl

use strict;
use warnings;
use File::Copy,

my $source_dir = "aa";
my $target_dir = "bb";

opendir(my $DIR, $source_dir) || die "can't opendir $source_dir: $!";  
my @files = readdir($DIR);

foreach my $t (@files)
{
   if(-f "$source_dir/$t" ) {
      #Check with -f only for files (no directories)
      copy "$source_dir/$t", "$target_dir/$t";
   }
}

closedir($DIR);

请帮忙...

提前致谢

2 个答案:

答案 0 :(得分:3)

您需要使用File::Copy::Recursive模块,该模块具有您可能需要的许多相关功能dircopy;或File::Mirror模块,其mirror函数与dircopy相同,加上recursive函数,允许您提供一段代码来精确控制节点将被复制。

答案 1 :(得分:1)

:root { 
  --textareaHeight : 150px;
  --placeholderFontSize : 14px;
}

textarea {
    display: block; 
    height: var(--textareaHeight);
    padding: 0 6px 6px 0;
}

textarea::placeholder {
text-align: right;
font-size: --placeholderFontSize;
line-height: calc((var(--textareaHeight) * 2) - var(--placeholderFontSize));
color: red;
}