Parameterübergabe aus Batchdatei
am 26.12.2006 16:15:00 von schirmer.sensor-css
This is a multi-part message in MIME format.
------=_NextPart_000_006E_01C72908.FE138DC0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hallo zusammen,
ich möchte unter Windows XP aus einer bestehenden Batch-Datei einen =
Perl-Script aufrufen (funktioniert schon) und div. Parameter (z.B. =
Laufwerksbuchtsaben und Pfad) an das Perl-Script übergeben (Übergabe =
klappt noch nicht). Leider habe ich trotz intensivem Googeln dafür =
noch keine Lösung gefunden.=20
Bitte wenn möglich Parameterangabe in der Batch und Auswertung im =
Perl-Script angeben.
Vielen Dank für Eure Hilfe
Dieter
------=_NextPart_000_006E_01C72908.FE138DC0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
charset=3Diso-8859-1">
Hallo zusammen,
ich möchte unter Windows XP aus =
einer bestehenden=20
Batch-Datei einen Perl-Script aufrufen (funktioniert schon) und div. =
Parameter=20
(z.B. Laufwerksbuchtsaben und Pfad) an das Perl-Script übergeben =
(Übergabe=20
klappt noch nicht). Leider habe ich trotz intensivem Googeln =
dafür noch=20
keine Lösung gefunden.
Bitte wenn möglich Parameterangabe =
in der Batch=20
und Auswertung im Perl-Script angeben.
Vielen Dank für Eure =
Hilfe
Dieter
------=_NextPart_000_006E_01C72908.FE138DC0--
Re: Parameterübergabe aus Batchdatei
am 27.12.2006 12:55:08 von Bianka Martinovic
D. Schirmer schrieb:
> ich möchte unter Windows XP aus einer bestehenden Batch-Datei einen
> Perl-Script aufrufen (funktioniert schon) und div. Parameter (z.B.
> Laufwerksbuchtsaben und Pfad) an das Perl-Script übergeben (Übergabe
> klappt noch nicht).
Aufruf wie in der cmd, z. B.:
c:\perl\bin\perl.exe [ggfs. Params] ...
Alle Aufrufparameter stehen dann im globalen Array @ARGV.
Also steht in $ARGV[0], in $ARGV[1] usw.
Alternativ (im Zweifel besser) das Module Getopt::Long verwenden,
welches es ermöglicht, "benannte" Aufrufparameter zu verwenden. Das hat
u. a. den Vorteil, dass die Reihenfolge der Aufrufparameter keine Rolle
spielt.
Also man kann dann das Perlscript so aufrufen:
# meinscript.pl --param2="noch ein netter Parameter" --param1="Der nette
erste Parameter"
Wie man das dann im Script verarbeitet, steht in der Doku zu Getopt::Long.
Gruß, Bianka
Re: Parameterübergabe aus Batchdatei
am 28.12.2006 00:26:07 von schirmer.sensor-css
Hallo Bianca,
vielen dank für deine Tips,
das funktioniert jetzt. Das mit dem Array @ARGV hatte ich zuvor falsch
verstanden.
Danke und alles Gute fürs neue Jahr.
Gruß Dieter
"Bianka Martinovic" schrieb im
Newsbeitrag news:emtmus$9na$1@pentheus.materna.de...
> D. Schirmer schrieb:
>> ich möchte unter Windows XP aus einer bestehenden Batch-Datei einen
>> Perl-Script aufrufen (funktioniert schon) und div. Parameter (z.B.
>> Laufwerksbuchtsaben und Pfad) an das Perl-Script übergeben (Übergabe
>> klappt noch nicht).
>
> Aufruf wie in der cmd, z. B.:
>
> c:\perl\bin\perl.exe [ggfs. Params] ...
>
> Alle Aufrufparameter stehen dann im globalen Array @ARGV.
>
> Also steht in $ARGV[0], in $ARGV[1] usw.
>
> Alternativ (im Zweifel besser) das Module Getopt::Long verwenden, welches
> es ermöglicht, "benannte" Aufrufparameter zu verwenden. Das hat u. a. den
> Vorteil, dass die Reihenfolge der Aufrufparameter keine Rolle spielt.
>
> Also man kann dann das Perlscript so aufrufen:
>
> # meinscript.pl --param2="noch ein netter Parameter" --param1="Der nette
> erste Parameter"
>
> Wie man das dann im Script verarbeitet, steht in der Doku zu Getopt::Long.
>
> Gruß, Bianka