Moin !
ich habe, unter win7, ein einfaches Script zum Zählen von Dateien. (Urquelle:
msg #177948)
Das wird derzeit noch so aufgerufen ...
perl C:\Perl-Tools\tile_counter.pl --dir=%folder2delete%\%%n\ --file=*.png
und das Perl sieht wie folgt aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use strict;
use warnings;
use 5.010;
use Cwd;
use File::Spec;
use Getopt::Long;
use File::Find::Rule;
$| = 1;
my $PROGNAME = ( split m|[\\/]|, $0 )[-1];
help() if !@ARGV;
my ( @filemask, @dir );
my ( $wiki_output, $help );
GetOptions(
"f|file=s" =>
\@filemask,
"d|dir=s" => \@dir,
"wiki" => \$wiki_output,
"h|help" => \$help
) or die "Error in command line arguments\n";
push @dir, Cwd::cwd()
if not @dir;
$wiki_output //= 0;
help() if $help;
..
Nun wollte ich dieses soweit aufbohren das ein Wert zum Hochzählen der der Ordner mit eingebaut werden kann. Das weitere rund-her-um ist sollte nebensächlich sein.
Der Aufruf soll jetzt wie folgt aussehen:
perl C:\Perl-Tools\tile_counter.pl --from=10 --to=20 --dir=%folder2delete%\%%n\ --file=*.png
und mein Code sieht wie folgt aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use strict;
use warnings;
use 5.010;
use Cwd;
use File::Spec;
use Getopt::Long;
use File::Find::Rule;
$| = 1;
my $PROGNAME = ( split m|[\\/]|, $0 )[-1];
help() if !@ARGV;
my ( @filemask, @dir );
my ( $wiki_output, $help, $from, $to);
GetOptions(
"f|file=s" => \@filemask,
"d|dir=s" => \@dir,
"wiki" => \$wiki_output,
"f|from=i" => \$from,
"t|to=i" => \$to,
"h|help" => \$help
) or die "Error in command line arguments\n";
push @dir, Cwd::cwd()
if not @dir;
$wiki_output //= 0;
help() if $help;
for my $i ($from .. $to) {
print "$i\n";
}
Was mich nur wunder ist, dass die Hochzählschleife nicht erreicht werden kann.
Kann mir einer weiterhelfen?
Gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de