I use this tiny script in conjunction with Kazaa Lite, a P2P file-sharing application. The script checks the Kazaa shared folder continually for incoming (finished) files, and then moves them into a different location. Once they are moved into an unshared folder, other people can no longer download them from the system Kazaa Lite is running upon. This limits upstream bandwidth consumption, which is a nice side effect if throughput is important to you (or you would like to not attract attention from your ISP, which may or may not be banning servers in their TOS.)
I wrote this script in response to the MPAA's decision to start finding people sharing files, and hassling their ISP to try to get their service disconnected. I know that many people here probably don't agree with file sharing in general, or perhaps some may think it is rather dispicable to not share files in return with the other members of the file-sharing communities, but I personally only use Kazaa Lite occasionally to download MP3s or VHS captures of movies I already own (which is arguably legal under the Fair Use Act), and I feel no obligation to continue sharing the files with the rest of the world after I have them.
So, I just let this run in the background while I am running Kazaa Lite. I'd like to extend it at some point to sort files by type, or maybe even try and get clever and have it guess whether it's a Los Lobos song and create a directory for it or whatnot. Probably not, though. I've been a busy boy lately.
# c:\perl\lib\MyService.pl
use strict;
use warnings;
use File::Copy;
my $dir = "C:\\Program Files\\Kazaa Lite\\My Shared Folder";
my $dest = "C:\\incoming";
while (1) {
opendir(DIR,$dir) || die "can't opendir $dir: $!";
while(my $file = readdir(DIR)) {
if ($file=~/\.dat$/i) {
my $i = '1';
}
else {
move ("$dir\\$file", "$dest\\$file");
}
}
sleep(3);
closedir DIR;
}
P.S. This is running on a Windows 98 computer, but it can be converted to run as a service under NT/2000 by following this handy guide. I know it's not that hard of a script to write, but maybe someone else out there can use it.