2009-11-03 94 views
2

我需要将某些目录中的所有*.exe文件复制到其他虚拟驱动器。如何复制给定扩展名的所有文件?

如果我正在编写批处理脚本,我会做xcopy "%mycopyposition%\*.exe"

但我认为这在Perl脚本中是一个坏主意。

我看到一个File::Copy模块,但看不到如何做到这一点。

+0

请阅读的perldoc文件::复制 – ghostdog74 2009-11-03 11:49:27

+0

当然,你还需要遍历所有的exe文件的 – ghostdog74 2009-11-03 11:51:11

+0

我已经看过,但没有关于我的问题的信息 – 2009-11-03 11:56:37

回答

5

试试这个:

use File::Copy; 
for my $file (<*.exe>) { 
    # Copies from directory $mycopyposition to current directory. 
    copy "$mycopyposition/$file", $file or die "copy $file failed: $!"; 
} 
+1

注意他的'xcopy'副本*从*'%mycopyposition%'不至。而且,当我们使用模块时,建议使用'File :: Spec-> catfile'连接路径。 – 2009-11-03 12:26:16

+0

哦,对不起,我不熟悉'xcopy'。 – 2009-11-03 12:29:13

+0

感谢它已经为我工作 – 2009-11-03 12:31:53

3

我认为这是使用xcopy一个极好的主意。它做你想要的。此外,它还保留时间戳和其他属性。有一些非常有用的选项。

相关问题