OK, was kinda rust, been working on Solaris servers for year, but not been
working solely with windows, but I sure do miss scripting, no matter how
screwed up my programming skills are, it's fun!  Here is what I have with
"\" replacing "/" and better fixes with counting.  Yes, I know there is a
better way, but my brain isn't advanced enough yet, although I want to be
there some day:

#user/bin/perl -w
use File::Find;

my @all_file_names;

my $x = 1;

my $file1 = 'C:/Users/MeHere/test1/thefile1.txt';
my $file2 = 'C:/Users/MeHere/test1/thefile2.txt';

find sub {
        return if -d;
        push @all_file_names, $File::Find::name;
        }, 'C:/Users/MeHere/Downloads/Pics/Temp';

open FILE1, ">$file1" or die $!;
open FILE2, ">$file2" or die $!;

for my $path ( @all_file_names ) {

        if ($x < 11) {
                print FILE1 "echo PART 1a\n" if $x == 1;
                print FILE1"pause\n" if $x == 1;
                $path =~ tr/\//\\/d;
                print FILE1 "nfixup $path -f\n" if $path =~ /\.JPG/;
                print FILE1 "Done with PART 1a\n" if $x == 10;
                print FILE1 "pause\n" if $x == 10;
                print "$x\n";
                }

        if ($x > 10 && $x < 21) {
                print FILE2 "echo PART 1b\n" if $x == 11;
                print FILE2 "pause\n" if $x == 11;
                $path =~ tr/\//\\/d;
                print FILE2 "nfixup $path -f\n" if $path =~ /\.JPG/;
                print FILE2 "Done with PART 1b\n" if $x == 20;
                print FILE2 "pause\n" if $x == 20;
                print "$x\n";
                }

        $x = $x+1;

        }

close FILE1;
close FILE2;



On Fri, April 30, 2010 12:24 pm, Paul wrote:
> OK, it was late at night, and working 7 days/week doesn't help.  Anyhow,
> after looking at my convoluted script, I have one that works now, but am
> now trying to figure out an easy way to change the "/" in the resultant
> file to "\" to work in windows.  Always something.
>
> #user/bin/perl -w
> use File::Find;
>
> my @all_file_names;
>
> my $x = 0;
>
> my $file1 = 'C:/Users/MeHere/test1/thefile1.txt';
> my $file2 = 'C:/Users/MeHere/test1/thefile2.txt';
>
> find sub {
>       return if -d;
>       push @all_file_names, $File::Find::name;
>       }, 'C:/Users/MeHere/Downloads/Pics/Temp';
>
> open FILE1, ">$file1" or die $!;
> open FILE2, ">$file2" or die $!;
>
> for my $path ( @all_file_names ) {
>
>       if ($x < 10) {
>               $x = $x+1;
>               print FILE1 "echo PART 1a\n" if $x == 1;
>               print FILE1"pause\n" if $x == 1;
>               print FILE1 "nfixup $path -f\n" if $path =~ /\.JPG/;
>               print FILE1 "Done with PART 1a\n" if $x == 10;
>               print FILE1 "pause\n" if $x == 10;
>               print "$x\n";
>               }
>
>       if ($x > 9 && $x < 20) {
>               $x = $x+1;
>               print FILE2 "echo PART 1b\n" if $x == 11;
>               print FILE2 "pause\n" if $x == 11;
>               print FILE2 "nfixup $path -f\n" if $path =~ /\.JPG/;
>               print FILE2 "Done with PART 1b\n" if $x == 20;
>               print FILE2 "pause\n" if $x == 20;
>               print "$x\n";
>               }
>
>       }
>
> close FILE1;
> close FILE2;
>
>
>
> On Thu, April 29, 2010 2:19 pm, Paul wrote:
>> Hey all.  I'm trying to make a perl script create some bat scripts to
>> run
>> some specific command and run a few at a time.  If that makes any sense.
>> Anyhow, say there are 20 files in a dir.  Now these files change at
>> times,
>> so to make it easier I'm making a perl script to make the bat scripts to
>> run these specific commands on each file, reason is, so I can run a few
>> at
>> a time to save time.  Now there are man more than this, but I'm making
>> it
>> simple just so I can expand on this later.  Here is my convoluted script
>> right now, I'm just using jpg's just as an example, but here it is:
>>
>> The first result of 10 commands on 10 files works fine, but the second
>> one
>> is empty.  Any pointers in the right direction?  Thanks.:
>> -------------
>> use File::Find;
>>
>> my @all_file_names;
>>
>> my $x = 0;
>>
>> my $file1 = 'C:/Users/MeHere/test1/thefile1.txt';
>>
>> find sub {
>>      return if -d;
>>      push @all_file_names, $File::Find::name;
>>      }, 'C:/Users/MeHere/Downloads/Pics/Temp';
>>
>> open FILE, ">$file1" or die $!;
>>
>> for my $path ( @all_file_names ) {
>>
>>      while ($x < 10) {
>>      $x = $x+1;
>>      print FILE "echo PART 1a\n" if $x == 1;
>>      print FILE "pause\n" if $x == 1;
>>      #$path = (s/\//\\/g); (also trying to replace / with \ for windows)
>>      print FILE "do this command $path -d -S 10\n" if $path =~ /\.JPG/;
>>      print FILE "Done with PART 1a\n" if $x == 10;
>>      print FILE "pause\n" if $x == 10;
>>      print "$x\n";
>>      }
>>
>> close FILE;
>> my $file2 = 'C:/Users/MeHere/test1/thefile2.txt';
>> open FILE, ">$file2" or die $!;
>>
>>      while ($x < 20) {
>>      $x = $x+1;
>>      print FILE "echo PART 1b\n" if $x == 11;
>>      print FILE "pause\n" if $x == 11;
>>      print FILE "do this command $path -d -S 10\n" if $path =~ /\.JPG/;
>>      print FILE "Done with PART 1b\n" if $x == 20;
>>      print FILE "pause\n" if $x == 20;
>>      print "$x\n";
>>      }
>>
>>      }
>>
>> close FILE;
>> ------------------------------
>>
>>
>> --
>> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
>> For additional commands, e-mail: beginners-h...@perl.org
>> http://learn.perl.org/
>>
>>
>>
>
>
>
> --
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
>
>
>



-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to