All pastes #940497 Raw Edit

Untitled

public text v1 · immutable
·published 2008-03-13 00:34 UTC
rendered paste body
use strict;
use warnings;
use FileHandle;
use File::Basename;
use File::Copy;
use File::Find;

my @dirs;

find({
  no_chdir => 1,
  wanted => sub {
    return unless -d;
    my $base = basename($_);
    return unless $base =~ /MPBHSM_PU(\d+)/io;
    push(@dirs,$_);
    return;
  }
},'E:/Geomodeler');

opendir(GIS,'\\\\Storage1\\PUBLIC\\GIS\\xBatchModelRunDirectory') or die;
my @spc = splice(@{[ readdir(GIS) ]},2);
print "$_\n" foreach @spc;
closedir(GIS);

foreach my $spc (@spc) {
  opendir(SPC,"\\\\Storage1\\PUBLIC\\GIS\\xBatchModelRunDirectory\\$spc") or die;
  my ($mdl,$ctrl) = splice(@{[ readdir(SPC) ]},2);
  my @fh = (new FileHandle,new FileHandle);
  $fh[0]->open("\\\\Storage1\\PUBLIC\\GIS\\xBatchModelRunDirectory\\$spc\\$mdl",'<');
  $fh[1]->open("\\\\Storage1\\PUBLIC\\GIS\\xBatchModelRunDirectory\\$spc\\$ctrl",'<');
  map { defined $_ or die } @fh;
  foreach my $dir (@dirs) {
    chdir(join('/',$dir,'Models/In/Run1')) or die;
    print $dir, "\n";
    mkdir($spc,0777) or die unless -d $spc;
    chdir($spc) or die;
    copy($fh[0],$mdl) or die;
    copy($fh[1],$ctrl) or die;
    my $fh = new FileHandle;
    $fh->open(join('/',$dir,'Models/Out/Run1/res1_out.cas'),'<');
    die unless defined $fh;
    print "copying cas\n";
    copy($fh,'res1_out.cas') or die;
    chdir('..');
  }
  chdir('..');
}
print 1;