Lancement d'un programme Perl depuis l'explorateur Windows
2 réponses
knuklal
Bonjour,
Je souhaiterai savoir s'il est possible d'int=E9grer un programme Perl
dans un fichier .bat et de lancer ce dernier =E0 partir de l'explorateur
Windows sachant que le chemin vers le fichier .bat peut contenir des
caract=E8res "espace".
J'ai le .bat mais ne fonctionne qu'=E0 partir d'un chemin ne contenant
pas d'espace :
le voici:
@rem =3D '
@echo off
goto endofperl
@rem ';
# Liste de tous les utilisateurs devant utiliser Synergy/CM
%users=3D(
"tonton" =3D> "BIDON Jean-Luc ",
"tata" =3D> "EDWAR Murphy ",
"koko" =3D> "LARBI Mohamed ",
);
# Liste de toutes les bases Synergy/CM op=E9rationnelles
%bases=3D(
"ABC" =3D> "Chaine de Tele",
"TUT" =3D> "Tutor ",
"PAP" =3D> "Particulier =E0 particulier ",
);
######################################
# Traitement des connexions en cours #
######################################
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
gvdmoort
La distribution ActivePerl pour windows comprend un utilitaire pl2bat.bat qui convertit un fichier perl en fichier bat. Sur le système où je travaille, les fichiers bat ainsi créés fonctionnent même si il y a un/des espaces dans le chemin.
Les fichiers batch en question comprennent se présentent ainsi :
@rem = '--*-Perl-*-- @echo off if "%OS%" == "Windows_NT" goto WinNT perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 goto endofperl :WinNT perl -x -S %0 %* if NOT "%COMSPEC%" == "%SystemRoot%system32cmd.exe" goto endofperl if %errorlevel% == 9009 echo You do not have Perl in your PATH. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul goto endofperl @rem '; # début des instructions Perl #! /usr/bin/perl -w # [...] # (fin du script perl) __END__ :endofperl
Soit vous vérifiez l'existence de l'utilitaire pl2bat.bat et vous l'utilisez, soit vous modifiez à la main le vôtre sur cette base, soit si ça n'arrange rien vous donnez à vos scripts perl une extension spécifique comme .pl et vous intervenez au niveau de l'explorateur windows pour que le programme associé soit l'exécutable Perl, ce qui me semble plus simple.
Bien à vous,
G.
La distribution ActivePerl pour windows comprend un utilitaire
pl2bat.bat qui convertit un fichier perl en fichier bat. Sur le
système où je travaille, les fichiers bat ainsi créés fonctionnent
même si il y a un/des espaces dans le chemin.
Les fichiers batch en question comprennent se présentent ainsi :
@rem = '--*-Perl-*--
@echo off
if "%OS%" == "Windows_NT" goto WinNT
perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
goto endofperl
:WinNT
perl -x -S %0 %*
if NOT "%COMSPEC%" == "%SystemRoot%system32cmd.exe" goto endofperl
if %errorlevel% == 9009 echo You do not have Perl in your PATH.
if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
goto endofperl
@rem ';
# début des instructions Perl
#! /usr/bin/perl -w
# [...]
# (fin du script perl)
__END__
:endofperl
Soit vous vérifiez l'existence de l'utilitaire pl2bat.bat et vous
l'utilisez, soit vous modifiez à la main le vôtre sur cette base,
soit si ça n'arrange rien vous donnez à vos scripts perl une
extension spécifique comme .pl et vous intervenez au niveau de
l'explorateur windows pour que le programme associé soit l'exécutable
Perl, ce qui me semble plus simple.
La distribution ActivePerl pour windows comprend un utilitaire pl2bat.bat qui convertit un fichier perl en fichier bat. Sur le système où je travaille, les fichiers bat ainsi créés fonctionnent même si il y a un/des espaces dans le chemin.
Les fichiers batch en question comprennent se présentent ainsi :
@rem = '--*-Perl-*-- @echo off if "%OS%" == "Windows_NT" goto WinNT perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 goto endofperl :WinNT perl -x -S %0 %* if NOT "%COMSPEC%" == "%SystemRoot%system32cmd.exe" goto endofperl if %errorlevel% == 9009 echo You do not have Perl in your PATH. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul goto endofperl @rem '; # début des instructions Perl #! /usr/bin/perl -w # [...] # (fin du script perl) __END__ :endofperl
Soit vous vérifiez l'existence de l'utilitaire pl2bat.bat et vous l'utilisez, soit vous modifiez à la main le vôtre sur cette base, soit si ça n'arrange rien vous donnez à vos scripts perl une extension spécifique comme .pl et vous intervenez au niveau de l'explorateur windows pour que le programme associé soit l'exécutable Perl, ce qui me semble plus simple.
Bien à vous,
G.
knuklal
Merci beaucoup pour votre réponse qui me convient pleinement !
Knuklal.
Merci beaucoup pour votre réponse qui me convient pleinement !