34 lines
666 B
Perl
34 lines
666 B
Perl
|
#!/usr/bin/env perl
|
||
|
# Perform simple file and directory manipulation in a portable way
|
||
|
if ( $#ARGV <= 0 )
|
||
|
{
|
||
|
print "Usage: $0 mkdir|rmdir|rm|move|gone path1 [path2] [more commands...]\n";
|
||
|
exit 1;
|
||
|
}
|
||
|
|
||
|
use File::Copy;
|
||
|
while(@ARGV) {
|
||
|
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;
|
||
|
}
|
||
|
}
|
||
|
exit 0;
|