Salut à tous.
Je suis sous windows 10 Pro
Je désire depuis un script Perl, lancer un batch windows et récupérer son code retour.
Par exemple, ce batch windows :
Et voici ce que j'ai fait en Perl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @echo off echo Le premier paramètre : %1 echo Le second paramètre : %2 exit 5
Et voici le résultat que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #!C:\perl64\bin\perl.exe -w use strict; use warnings; use diagnostics; use 5.24.1; # -------------------------------- # Passage de paramètres à un Batch # -------------------------------- my @cmd = ('batch.bat', 'hello', 'sir'); open DATA, "@cmd|" or die "Ouverture impossible des données : $!" ; while (my $line = <DATA>) { $line =~ s/[\n\r]+//g; say ">>".$line."<<"; } close DATA;
Avant de poster, j'ai cherché sur le net, sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 >>Le premier paramètre : hello<< >>Le second paramètre : sir<<
J'ai pensé que le code retour pouvait être récupéré par "$!" mais je n'obtiens rien à l'exécution.
Je désire donc en Perl, récupérer la valeur 5.
@+
Partager