在我的Perl代码中,我需要在同一主机上将目录从一个位置复制到另一个位置,不包括某些文件/模式(例如* .log,。/ myDir / abc.cl)。 跨所有平台在Perl中执行此操作的最佳方式是什么? 在Windows上,xcopy就是这样一种解决方案。在unix平台上,有没有办法在Perl中执行此操作?
答案 0 :(得分:4)
我认为你在寻找rsync。它不是Perl,但它比你在Perl中制作的任何东西都要好得多。
答案 1 :(得分:2)
我会使用File::Find
,然后跳过每个文件,但不是在每个文件上调用File::Copy
的{{1}},而是首先测试它是否与模式匹配,然后然后copy()
如果确实如此。
答案 2 :(得分:1)
在* nix上,您可以使用-exclude options的本机tar命令。然后在创建tar文件后,您可以将它带到目的地以解压缩它。