Thread Hilfe beim Starten eines Perl-Scriptes unter Windows (9 answers)
Opened by jan99 at 2015-03-05 12:13

jan99
 2015-03-05 12:13
#179978 #179978
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Moin!

ich drifte heute mal etwas ab.

Es gibt eine Perl-Script das ich gerne in eine Windows-Aufgabe einplanen würde und dafür wollte ich das aufrufende Bat-File in die Aufgabe einbinden. Lokal ausgeführt klappt das auch immer - in der Aufgabe mit dem Admin-Konto nicht; obwohl ich selber schon zur Gruppe der Admins gehöre. Nun habe ich einmal ein simples Beispiel erstellt:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl -w
use strict;
use warnings;
use utf8;
use Time::localtime;
my $filename = "test_protokoll.txt";
open(my $fh, ">>:encoding(UTF-8)", $filename) or die ("Can't open report-file: ".$filename." ($!)\n");
printf    $fh    "current:    %02d-%02d-%04d    -    %02d:%02d\n",    localtime->mday,    localtime->mon    +    1,    localtime->year    +    1900,    localtime->hour,    localtime->min;
close $fh;


Erst habe ich das Batch immer so aufgebaut:
Quote
perl test_perl.bat


... das war ok!

Nun habe ich mal (mehr aus Zufall) über die rechte Maustaste "... als Admin ausführen" geklickt und dann kam folgende Meldung:

Quote
C:\Windows\system32>rem C:\strawberry\perl\bin\perl.exe C:\Install\TaskControlle
r\test_script\test_perl.bat

C:\Windows\system32>perl test_perl.bat
Can't open perl script "test_perl.bat": No such file or directory

C:\Windows\system32>pause
Drücken Sie eine beliebige Taste . . .


OK, dann fehlt dem der Pfad zur Perl.EXE - also ergänzt mit folgender Meldung:

Quote
C:\Windows\system32>rem C:\strawberry\perl\bin\perl.exe C:\Install\TaskControlle
r\test_script\test_perl.bat

C:\Windows\system32>C:\strawberry\perl\bin\perl.exe test_perl.bat
Can't open perl script "test_perl.bat": No such file or directory

C:\Windows\system32>pause


Das war nicht der Grund - mit dem Befehl perl kam er klar.
Dann nochmal den Pfad zur PL-Datei ergänzt so das es jetzt so aussieht:

Code (perl): (dl )
C:\strawberry\perl\bin\perl.exe C:\Install\TaskController\test_script\test_perl.bat


.. dann kommt diese Meldung:
Quote
C:\Windows\system32>C:\strawberry\perl\bin\perl.exe C:\Install\TaskController\te
st_script\test_perl.bat
Backslash found where operator expected at C:\Install\TaskController\test_script
\test_perl.bat line 1, near "strawberry\"
Backslash found where operator expected at C:\Install\TaskController\test_script
\test_perl.bat line 1, near "perl\"
Backslash found where operator expected at C:\Install\TaskController\test_script
\test_perl.bat line 1, near "bin\"
Backslash found where operator expected at C:\Install\TaskController\test_script
\test_perl.bat line 1, near "Install\"
Backslash found where operator expected at C:\Install\TaskController\test_script
\test_perl.bat line 1, near "TaskController\"
Backslash found where operator expected at C:\Install\TaskController\test_script
\test_perl.bat line 1, near "test_script\"
syntax error at C:\Install\TaskController\test_script\test_perl.bat line 1, near
"strawberry\"
Execution of C:\Install\TaskController\test_script\test_perl.bat aborted due to
compilation errors.


Ich vermute einmal das wenn es unter "... als Admin ausführen" funktioniert, dann wird es auch mit meiner Aufgabenplanung funktionieren.

Hat einer eine Idee oder weitergehende Erfahrungen was die Einbindung von Perl-Scripten in der Windowsaufgaben-Planung betrifft?

Im übrigen setze ich Strawberry-Perl ein.

Gruß Jan
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de

View full thread Hilfe beim Starten eines Perl-Scriptes unter Windows