我有一个 Perl 脚本,它从文件中读取文件列表accessFiles.txt
,并将它们复制到另一个位置。
open my $accessFiles, "$scriptDir\\accessFiles.txt" or die "Could not open access file list $!";
while (my $accessFile = <$accessFiles>) {
my($file, $dir, $ext) = fileparse($accessFile, qr/\.[^.]*/);
my $accessDir = "$localDir\\AccessFiles\\$file";
my $accessCopy = "$accessDir\\$file$ext";
system("rmdir","/S", "/Q",$accessDir);
system("mkdir",$accessDir);
system("copy", $accessFile, $accessCopy);
}
copy 命令的输出表明它为 中的每个文件复制了一个文件accessFiles.txt
,但只复制了最后一个文件。
我在复制之前和之后添加了输入语句,并且我在任何时候都看不到复制目录中的任何其他文件。
现在,如果我将脚本更改为从文件数组中读取,那么它可以完美运行。
my @files = ('\\\\sourceshare\acc1.accdb', '\\\\sourceshare\acc2.accdb');
foreach my $accessFile (@files) {
my($file, $dir, $ext) = fileparse($accessFile, qr/\.[^.]*/);
my $accessDir = "$localDir\\AccessFiles\\$file";
my $accessCopy = "$accessDir\\$file$ext";
system("rmdir","/S", "/Q",$accessDir);
system("mkdir",$accessDir);
system("copy", $accessFile, $accessCopy);
}
提前致谢。