use File::Copy; use Win32API::File qw(:ALL); use Win32::DriveInfo; $ordner="Songs"; $stick="k:"; $type=GetDriveType($stick); die unless $type==DRIVE_REMOVABLE; opendir(d,"$ordner") or do { print "$!"; exit; }; @files=grep {/\.mp3$/} readdir d or do { print "$!"; exit; }; closedir(d); ############## $free = (Win32::DriveInfo::DriveSpace($stick))[6]; $z=int(rand scalar @files); $needed=(stat($ordner."/".$files[$z]))[7]; $kopiert=0; while($free >= $needed) { $kopiert++; print "$kopiert:\t Kopiere ".$files[$z]; copy($ordner."/".$files[$z], $stick."/".$files[$z]); $free = (Win32::DriveInfo::DriveSpace($stick))[6]; $z=int(rand scalar @files); $needed=(stat($ordner."/".$files[$z]))[7]; print " ".(int($free / (1024 * 1024)))."Mb frei\n"; } print "$kopiert Dateien kopiert"; <>; exit; _ _ data _ _ DRIVE_UNKNOWN DRIVE_NO_ROOT_DIR DRIVE_REMOVABLE DRIVE_FIXED DRIVE_REMOTE DRIVE_CDROM DRIVE_RAMDISK