Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/usr/bin/perl
# $RCSfile: vanish,v $$Revision: 4.1 $$Date: 92/08/07 17:20:54 $
sub it { if ($olddir ne '.') { chop($pwd = `pwd`) if $pwd eq ''; (chdir $olddir) || die "Directory $olddir is not accesible"; } if (!-d .deleted) { print `mkdir .deleted; chmod 775 .deleted`; die "You can't remove files from $olddir" if $?; } $filelist =~ s/ $//; $filelist =~ s/#/\\#/g; if ($filelist !~ /^[ \t]*$/) { open(lastcmd,'>.deleted/.lastcmd'); print lastcmd $filelist,"\n"; close(lastcmd); print `/bin/mv $startfiles$filelist .deleted$force`; } if ($olddir ne '.') { (chdir $pwd) || die "Can't get back to original directory $pwd: $!\n"; } }
while ($ARGV[0] =~ /^-/) { $_ = shift; /^-f/ && ($force = ' >/dev/null 2>&1'); /^-i/ && ($interactive = 1); if (/^-+$/) { $startfiles = '- '; last; } }
chop($pwd = `pwd`);
while ($file = shift) { if ($file =~ s|^(.*)/||) { $dir = $1; } else { $dir = '.'; }
if ($interactive) { print "vanish: remove $dir/$file? "; next unless <stdin> =~ /^y/i; }
if ($file eq '.deleted') { print stderr "To delete .deleted (the trashcan) use the 'empty' command.\n"; next; }
if ($dir ne $olddir) { do it() if $olddir; $olddir = $dir; }
$filelist .= $file; $filelist .= ' '; }
do it() if $olddir;
|