IF you know Perl and can use it, here's an alternative solution.
use strict;
use warnings;
use File::Find;
use File::Copy;
use Archive::Tar;
use Cwd;
my $dir="c:/test";
my $destination="c:/destination";
my $archive_destination="c:/archive_destination";
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$year+=1900; $mon+=1;
my $archive="$year-$mon-$mday-$hour-$min-$sec.tar"; #set archive filename
sub archive {
my $cwd = getcwd();
chdir($destination);
my @filelist;
while(<*>){ -f && push(@filelist,$_); } #get files to archive
my $tar = Archive::Tar->new;
$tar->add_files(@filelist);
$tar->write($archive);
move($archive,$archive_destination); #move archived file to destination
foreach(@filelist){
unlink $_ ; # remove files after archive.
}
chdir($cwd);
}
sub wanted {
if ( lstat($_) && -f _ && (int(-M _) == 0) ) {
my $filename = $File::Find::name;
print "moving $filename to $destination\n";
move("$filename","$destination") or warn "Cannot move $filename to $destination; $!\n";
} elsif ( -f _ ) {
print "File not updated: $filename\n";
}
}
archive;
find({wanted => \&wanted}, "$dir");