递归地从perl中的目录中删除文件

时间:2014-03-27 12:29:54

标签: perl window

我是perl脚本的新手。我想写perl删除以前的备份文件,从dropbox中提取新的备份文件,并用特定的文件名重命名。

示例:

备份位置:

D:\Database\store_name\包含.bak个文件

实际文件夹数据 D:\Database\Mahavir Dhanya Bhandar\包含.bak个文件

D:\Database\Patel General Store\包含.bak个文件

..等等

  1. 如何编写删除*.bak文件store_recursively的perl脚本代码 2.从保管箱中提取新的备份文件,并使用特定的文件名重命名。

1 个答案:

答案 0 :(得分:1)

你有没有看过走你的文件树。 http://rosettacode.org/wiki/Walk_a_directory/Recursively。将它与简单的文件操作(复制,删除等)相结合,你应该很好。

use File::Find qw(find);

my $dir = "D:\Database\Store_Name";

find sub {unlink $File::Find::name if /\.bak$/}, $dir;

并假设connectToDropbox()连接到您的Dropbox

use File::Copy;
use File::Find qw(find);

my $backup = connectToDropbox();
my $dir = "D\Database\Store_Name";

find sub {copy($backup -> getFile("file"), "newFile")} $dir;

当然,这假设您已经可以设置连接等Dropbox。如果没有,您可以查看一个很好的CPAN库here