如何从远程位置复制多个文件

时间:2013-08-28 00:26:42

标签: perl

在我的代码中,我可以从远程位置复制单个文件,如下所示:

use File::Copy;

$Server="192.168.1.2";
$ServerDir="\\C:\\temp\\test.txt";
my $From = "\\\\".$Server.$ServerDir;

copy("$From","C:\\temp\\local\\") or die "Copy failed: $!";

但是当我的$ ServerDir(\ C:\ temp \ * .txt)中有多个文件时,如何复制它们?

请帮忙!

2 个答案:

答案 0 :(得分:0)

循环中

glob

for (glob 'C:\temp\*.txt') {
    copy($_, "C:\\temp\\local\\") or die "Copy failed: $_ $!";
}

答案 1 :(得分:-1)

遍历每个文件,然后逐个复制:

use File::Copy;
use File::Glob;

$Server="192.168.1.2";
$ServerDir="\\C:\\temp\\";
$From = "\\\\".$Server.$ServerDir;

my @files = glob("$From\\*.txt");

for my $file (@files) {
    copy("$From\\$file","C:\\temp\\local\\") or die "Copy failed: $!";
}