2007-04-23 19:00:38 -04:00
|
|
|
#!/usr/bin/env perl
|
2008-03-13 18:51:39 -04:00
|
|
|
# Perform simple file and directory manipulation in a portable way
|
2010-02-14 14:40:18 -05:00
|
|
|
if ( $#ARGV <= 0 )
|
2007-04-23 19:00:38 -04:00
|
|
|
{
|
2010-02-16 08:32:45 -05:00
|
|
|
print "Usage: $0 mkdir|rmdir|rm|move|gone path1 [path2] [more commands...]\n";
|
|
|
|
exit 1;
|
2007-04-23 19:00:38 -04:00
|
|
|
}
|
2008-03-13 18:51:39 -04:00
|
|
|
|
|
|
|
use File::Copy;
|
|
|
|
while(@ARGV) {
|
2010-02-16 08:32:45 -05:00
|
|
|
my $cmd = shift @ARGV;
|
|
|
|
my $arg = shift @ARGV;
|
|
|
|
if ($cmd eq "mkdir") {
|
|
|
|
mkdir $arg || die "$!";
|
|
|
|
}
|
|
|
|
elsif ($cmd eq "rmdir") {
|
|
|
|
rmdir $arg || die "$!";
|
|
|
|
}
|
|
|
|
elsif ($cmd eq "rm") {
|
|
|
|
unlink $arg || die "$!";
|
|
|
|
}
|
|
|
|
elsif ($cmd eq "move") {
|
|
|
|
my $arg2 = shift @ARGV;
|
|
|
|
move($arg,$arg2) || die "$!";
|
|
|
|
}
|
|
|
|
elsif ($cmd eq "gone") {
|
|
|
|
! -e $arg || die "Path $arg exists";
|
|
|
|
} else {
|
|
|
|
print "Unsupported command $cmd\n";
|
|
|
|
exit 1;
|
|
|
|
}
|
2007-04-23 19:00:38 -04:00
|
|
|
}
|
2008-03-13 18:51:39 -04:00
|
|
|
exit 0;
|