#!/usr/bin/perl use strict; use warnings; use File::Spec; use File::Copy; use File::Find::Duplicates; my $source_path='C:\test'; my $destination_path='C:\doppelt'; ################################################ # Dubletten von Datein finden my @dupesets = find_duplicate_files($source_path); # Alle Gefunden Dateien durch gehen for my $dupeset (@dupesets) { # Mehrfach vorhandene Dateien my @files=@{ $dupeset->files }; # erste Datei behalten shift(@files); #alle anderen Dateien verschieben: for my $source_path (@files) { # Dateinamen extrahieren: my ($volume,$directories,$file) = File::Spec->splitpath( $source_path ); # Zielpfad erstellen my $destination_path=File::Spec->join($destination_path,$file); # Datei Verschieben move($source_path,$destination_path) or warn("Can't move $source_path to destination_path ($!)\n"); } }