我在txt文件中有一个文件名列表。它们与我拥有的pdfs相关。我想将该列表中列出的实际pdf文件复制到目录中。需要复制的文件也包含在不同的子目录中。使用perl最简单的方法是什么? 谢谢!
答案 0 :(得分:3)
我建议您阅读perlfaq5:How do I copy a file?
在那之后,它不应该太难;未经测试的代码:
use strict;
use warnings;
use 5.010;
use autodie;
use File::Copy;
use File::Spec;
open my $files_fh, '<', '/path/to/txt';
my $files_dir = shift // '/path/to/dir';
my $destination_dir = shift // '/path/to/dir';
while (<$files_fh>) {
chomp;
next unless -d (my $file = File::Spec->catfile($files_dir, $_) );
copy($file, $file . '.cpy');
move($file . '.cpy', $destination_dir);
say "Copied [$file] and moved it to [$destination_dir]";
}
答案 1 :(得分:2)
我建议你使用perl File :: Copy包。
use File::Copy; $filetobecopied = "myhtml.html."; $newfile = "html/myhtml.html."; copy($filetobecopied, $newfile) or die "File cannot be copied.";