Ask and ye shall receive
With this code:
use strict;
use warnings;
use File::Copy;
# yes, it is Windows XP and a drive letters assigned to a USB and a NA
+S drive.
# Indir and outdir will be a parameter in this format.
my $inDir = "M:\\AllFiles";
my $outDir = "n:\\allFiles";
# test 1 straight in out in DOS format.
MoveFiles($inDir,$outDir);
$inDir = "M:\\AllFiles\\TestDoc.txt";
$outDir = "n:\\allFiles\\abc.txt";
# test 2 Try specific files.
MoveFiles($inDir,$outDir);
$inDir = "M:\\AllFiles";
$outDir = "n:\\allFiles\\";
# test 3 Try selecting ALL files in the directory
MoveFiles($inDir."\\*", $outDir);
sub MoveFiles {
my ( $source, $destination ) = @_;
print "indir= $source, outdir=$destination\n";
my $source_size = (-s $source) || 0;
my $destination_size = (-s $destination) || 0;
move( $source, $destination );
print "indir size=$source_size outdir size=$destination_size\n";
}
indir= M:\AllFiles, outdir=n:\allFiles
indir size=0 outdir size=0
indir= M:\AllFiles\TestDoc.txt, outdir=n:\allFiles\abc.txt
indir size=18 outdir size=0
indir= M:\AllFiles\*, outdir=n:\allFiles\
indir size=0 outdir size=0
I get the abc.txt in the n:\allfiles but the rest are left in the m:\Allfiles directory.
|