2010-03-22 95 views
2

在我的Perl代码中,我需要将一个目录从一个位置复制到另一个位置,但不包括某些文件/模式(例如* .log,./myDir/abc.cl)。 在所有平台上用Perl做这件事的最佳方式是什么? 在Windows上,xcopy就是这样一个解决方案。在unix平台上,有没有办法在Perl中做到这一点?如何复制一个目录但忽略Perl中的某些文件?

+4

看到这个:http://stackoverflow.com/questions/227613/how-can-i-copy-a-directory-recursively-and-filter-filenames-in-perl – codaddict 2010-03-22 10:49:31

+1

为什么它必须是Perl? – 2010-03-22 15:34:23

回答

2

我会用File::Find,并且一步在每个文件,但不是调用File::Copy上的每个文件的copy(),第一次测试,看它是否能够匹配,然后next如果这样做。

4

我认为你正在寻找rsync。这不是Perl,但它比你在Perl中做的任何事都要好得多。

1

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

相关问题