summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--util/mvdir.pl35
1 files changed, 35 insertions, 0 deletions
diff --git a/util/mvdir.pl b/util/mvdir.pl
new file mode 100644
index 00000000..1587b799
--- /dev/null
+++ b/util/mvdir.pl
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+if( !@ARGV ){
+ print "usage: mvdir.pl which prefix from_id to_id\n";
+ exit;
+}
+
+($which, $prefix, $from_id, $to_id) = @ARGV;
+$which = 'man/boards' if( $which eq 'man' );
+
+$fromdir = "/scsi$from_id/bbs/$which/$prefix";
+$todir = "/scsi$to_id/bbs/$which/$prefix";
+
+if( !-e $fromdir ){
+ print "from dir ($fromdir) not found\n";
+ exit;
+}
+
+mkdir $todir;
+chdir $fromdir;
+foreach( <*> ){
+ next if( /^\./ );
+ symlink("$fromdir/$_", "$todir/$_");
+ push @dirs, $_;
+}
+
+unlink "/home/bbs/$which/$prefix";
+symlink($todir, "/home/bbs/$which/$prefix");
+
+foreach( @dirs ){
+ printf("processing %-20s (%04d/%04d)\n", $_, ++$index, $#dirs);
+ unlink "$todir/$_";
+ `mv $fromdir/$_ $todir/$_`;
+}
+
+rmdir "$fromdir";