如何复制目录但忽略Perl中的某些文件?

时间:2010-03-22 10:46:03

标签: perl copy

在我的Perl代码中,我需要在同一主机上将目录从一个位置复制到另一个位置,不包括某些文件/模式(例如* .log,。/ myDir / abc.cl)。 跨所有平台在Perl中执行此操作的最佳方式是什么? 在Windows上,xcopy就是这样一种解决方案。在unix平台上,有没有办法在Perl中执行此操作?

3 个答案:

答案 0 :(得分:4)

我认为你在寻找rsync。它不是Perl,但它比你在Perl中制作的任何东西都要好得多。

答案 1 :(得分:2)

我会使用File::Find,然后跳过每个文件,但不是在每个文件上调用File::Copy的{​​{1}},而是首先测试它是否与模式匹配,然后然后copy()如果确实如此。

答案 2 :(得分:1)

在* nix上,您可以使用-exclude options的本机tar命令。然后在创建tar文件后,您可以将它带到目的地以解压缩它。