comment puis je lancer un script batch en dos d'un sript en perl?
comment puis je lancer un script batch en dos d'un sript en perl?
Code : Sélectionner tout - Visualiser dans une fenêtre à part system ("toto.bat");
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
ca ne marche pas si je met le chemin??
voila mon code:
Edité par GLDavid. Merci de mettre les balises codes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #!/usr/bin/perl -w system ("D:\....\batch.bat");![]()
Essaye en remplaçant les \ par des /
En perl, le chemin d'accès aux fichiers est unifié, pour utiliser le / comme séparateur de répertoires. Ainsi, les scripts peuvent gagner en portabilité. C'est l'interpréteur Perl qui fait la transformation en \, au besoin.
Bonne continuation
Le caractère '\' est un caractère spécial en PERL.
Soit tu le doubles, comme suis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #!/usr/bin/perl -w system ("D:\\....\\batch.bat");
Soit tu mets :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #!/usr/bin/perl -w system ("D:/..../batch.bat");
La première solution est à éviter, la seconde étant prévue explicitement pour une meilleure portabilité.Envoyé par Gamdwin
Si malgré tout on veut s'enferrer avec les \, il y a plus simple que de doubler tous les \ : il suffit de mettre le chemin entre simple quotes pour limiter l'interprétation des caractères spéciaux (tel le \).
Ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #!/usr/bin/perl -w system ('D:\....\batch.bat');
Tout à fait.La première solution est à éviter, la seconde étant prévue explicitement pour une meilleure portabilité.
J'aurais dû le préciser comme tu l'as fait dans ton premier post.
Partager