- 论坛徽章:
- 0
|
由于需要把电脑硬盘上的东西备份到移动硬盘上,但是又懒得查那些文件是新增的,就使用下面这个脚本实现了下,在window下, linux下应该比这简单一点的。- #!/usr/bin/perl
- use File::Copy;
- use warnings;
- #使用这个脚本实现两个文件夹的对比和同步文件夹内的内容,以本地硬盘数据为主
- my $disk_handle;
- my $mobi_disk_handle;
- opendir($disk_handle,"G:\\book") or die "open dir fail!\n";
- opendir($mobi_disk_handle,"H:\\book") or die "open dir fail!\n";
- my @disk_content=readdir($disk_handle);
- my @mobi_disk_content=readdir($mobi_disk_handle);
- chdir("G:\\book");
- my @diff;
- foreach my $tmp (@disk_content) {
- foreach my $tmp2 (@mobi_disk_content) {
- if($tmp eq $tmp2){
- $count++;
- }
- }
- if($count eq 0){
- push(@diff,$tmp);
- }
- $count=0;
- }
- print "you have these files must to sycn:\n";
- foreach my $dic (@diff) {
- print "+++++>$dic\n"
- }
- foreach my $copy (@diff) {
- if (-f $copy) {
- copy("G:\\book\\$copy","H:\\book\\$copy");
- }
- if(-d $copy){
- chdir("H:\\book");
- mkdir($copy);
- chdir("G:\\book");
- system("xcopy",$copy,"H:\\book\\$copy\\","/S");
-
- }
-
- }
- print "syn is over\n";
复制代码 |
|