Bonjour,
Sauf si tu l'as déplacé, le nom de ton fichier notepad.exe à une drôle d'allure :
my $cmd = ("Z://www//SISM//notepad.exe");
Le print ne s'affiche même pas, j'imagine donc que le problème doit venir du chemin d'accès, mais pourtant il m'a l'air correct.
Vérifie quand même...
Sous Windows tout ceci fonctionne :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| system "C:/Windows/notepad.exe";
system "C://Windows//notepad.exe";
system "C:\\Windows\\notepad.exe";
my $Cmd = "C:/Windows/notepad.exe";
system $Cmd;
my $Cmd = "C://Windows//notepad.exe";
system $Cmd;
if (-f $Cmd)
{
print "le fichier existe";
system($Cmd);
}
my $Cmd = "C:\\Windows\\notepad.exe";
system $Cmd; |
Seul ne fonctionne pas :
system "C:\Windows\notepad.exe";
1 2 3
| E:\_DEV\DevPerl>perl system.pl
le fichier existe'C:Windows' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes. |
NB : un seul \ est interprété comme caractère d’échappement, dans ce cas il faut le doubler (en quelque sortes pour indiquer que le caractère qui suit, donc : le 2ème \ est bien à interpréter comme un \
Si on met un seul \ il est demandé que le W soit bien interprété comme un W,
mais dans ce cas il manque un \ dans le path du fichier, d'ou l'erreur 'C:Windows' n'est pas reconnu...
Partager