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
38
#!/usr/bin/perl
use strict;
use warnings;
my $gsc = 'c:\Program Files\gs\gs9.05\bin\gswin64c.exe';
my $dpi = '150';
my $txt = '4';
my $bld = '4';
GO();
sub GO {
my @psfiles = ();
my $ein = "C:\\Lokale Daten\\vbv tiffs\\Work\\Spool\\";
my $aus = "C:\\Lokale Daten\\vbv tiffs\\Work\\Tiff\\";
unless (opendir(QV,$ein)) {return;}
while (defined (my $Eintrag = readdir(QV))) {
next if($Eintrag eq "." or $Eintrag eq ".." or -d $Eintrag);
if($Eintrag =~ /\.ps$/) {
push(@psfiles,$Eintrag);
}
}
(my $ein_win = $ein) =~ tr/\//\\/;
(my $aus_win = $aus) =~ tr/\//\\/;
my $count = 0;
my $anzhl = @psfiles;
foreach (sort @psfiles){
my $dateinew = $_;
$dateinew =~ s/\.ps//i;
system ('"'.$gsc.'" -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=tiffg4 -r'.$dpi.' -dTextAlphaBits='.$txt.' -dGraphicsAlphaBits='.$bld.' -sOutputFile='."\"$aus_win\\$dateinew.tif\" -f \"$ein_win\\$_\"\n");
}
}
Guest steve123Was gibst du wo und wann ein?aber egal was ich eingebe
Guest steve123Ich habe keine Ahnung was du meinst.max. macht er 64 Dateien
print "WATITING FOR EXEC: ".@waiting."\n" ;
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
my @datenArray=(); my $anzahl=@Dateien; $anzahl = $anzahl-1; for (my $i = 0; $i <= $anzahl; $i++) { my $DateiName = $Dateien[$i]; my ($daten, @Daten); #Wenn die Datei nicht geöffnet werden konnte mit der nächsten fortsetzen. die $! unless open DATEI, $DateiName; { local $/ = undef; $daten = <DATEI>; } close DATEI; #60 Dateien in den Arbeitsspeicher einlesen und dann verarbeiten if (($i%60==0&&$i>0)||$i==$anzahl){ #Daten aus Array holen und Eintrag löschen say "Modulo 60 oder alle Dateien" if $Debug; while (my $Aktuelle_daten = shift(@datenArray)){ say "Datei: $$Aktuelle_daten[1]" if $Debug; my $R = &Umwandeln($$Aktuelle_daten[0],$DatAnz,$$Aktuelle_daten[1]); InDateiSchreiben($R); } #Array sicherheitsalber löschen - sollte aber leer sein! @datenArray=(); }else{ push (@datenArray, [$daten,$DateiName]); #Daten in Array schieben } }
find ... -print0 | xargs -0 --max-args=1 --max-procs=N ...