|
|
|
|
Configuration: Windows XP Firefox 2.0.0.13
Salut,
si je ne me trompe pas les chemins sur windows on les écrit avec \ comme séparateur donc chez toi devra être C:\\Documents and Settings\\exampleMaintenant peut être que tu te demanderas pourquoi \\ au lieu de \ Un simple slash sera interpreté comme quelque chose de spécial par Perl. C'est-à-dire comme un caractère d'échappement. si tu écrit C:\Documents and Settings\example Perl va essayer de traduire \D et \e en quelque chose qui n'existe pas Donc pour obtenir le caractère littéral \ il y a la possibilité \\ mais aussi celle d'utiliser les apostrophes simples 'C:\Documents and Settings\example' Dans ton cas tu ne peux pas utiliser les apostrophes simples puisque tu as besoin d'intérpolation de la variable. #! usr/bin/perl # ça c'est pour linux
chomp($path = <STDIN>);
system ("cd $path"); Et tu dois saisir C:\\Documents and Settings\\example
106485010510997108 |
AH!! mais bien sur!! l'evidence meme!!
maintenant mon script va dans le chemin que je lui donne, mais il refuse de demarrer un programme dans ce dossier, sauf si mon script lui meme s'execute dans ce dossier, et vu que mon script il est concu (ou doit etre concu) pour demarrer n'importe quelle application depuis n'importe ou, c'est pas du tout pratique system("cd C:\\Program Files\\Mozilla Firefox"); system("firefox.exe") ; |
ah j'ai oublie de dire que j'essaie d'utiliser la commande "dir" et celle la ne marche pas non plus, elle s'obstine a m'afficher le contenu de mon C:/ quand je lui donne rien, et quand je lui donne un chemin particulier, elle me dit qu'elle le trouve pas |
pour demarrer n'importe quelle application depuis n'importe ou, c'est pas du tout pratique
ce n'est pas le script qui decide mais la variable d'environnement PATH donc system("firefox.exe"); s'en fiche complétement de ton 1er appel system("cd ...."); il va essayer tout simplement exécuter la commande firefox.exe qui n'existe pas en revanche quand ton script s'exécute dans le répertoire il va trouver l'exécutable et il va l'exécuter Donc je vois 2 possibilités : - le chemin complet (je n'ai pas testé sous win) system("C:\\Program Files\\Mozilla Firefox\\firefox.exe") ;
- mettre les chemin des applications dans la variable d'environnement PATH 106485010510997108 |
system("C:\\Program Files\\Mozilla Firefox\\firefox.exe") ; CA MARCHE!! MERCI BCP!!
une derniere question, et pour la commande "dir" comment faire? je suis sur que j'utilise la mauvaise syntaxe supposons que j'aie besoin de lister tout ce qui est dans le chemin C:\Program Files\Mozilla Firefox\ j'essaie dans le shell de taper dir C:\Program Files\Mozilla Firefox\ mais il le trouve pas, quand je tape dir C: seulement, il trouve le C et me liste tout |
Pour dire tu ne doit pas utiliser la fonction system qui ne capture pas la sortie
Pour capturer la sortie tu dois faire
$rep=" C:\\Program Files\\Mozilla Firefox";
$resultat = qx{ dir "$rep"}ousystem("cd $rep");
$resultat=qx{ dir };je n'ai pas testé ;-)
106485010510997108 |
c'est celle la qui marche:
$rep=" C:\\Program Files\\Mozilla Firefox"; $resultat = qx{ dir "$rep"} print $resultat; merci bcp!! votre aide m'a ete precieuse! |
par curiosité essaie
$rep='C:\Program Files\Mozilla Firefox';
$resultat = qx{ dir $rep};
print $resultat;
106485010510997108 |
| 28/01 09h50 | Comment récupérer le résultat d'une commande dans une variable | Bash |
| 03/06 15h18 | Création d'image Système (Ghost) | Systèmes d'exploitation |
| 08/10 12h11 | Désactiver tous les sons systèmes | Windows |
| 01/11 01h50 | Message d'erreur : C:\windows\system32\autoexec.nt | Windows |
| 03/11 18h31 | [Disque dur] Erreur «Disque non système / No system disk» | Disque dur |
| 03/02 11h38 | Gestion de l'heure système en perl | 4 |
| 23/02 06h05 | [Perl] Récupérer les stats du système | 3 |
| 18/09 15h21 | [PERL] File Handler et command system | 2 |
| 07/06 11h49 | [Perl CGI]Fonction system sur un param | 0 |
![]() | MiCôSystème - Les logiciels de dessins techniques assistés par ordinateur sont bien compliqués pour un utilisateur non initié. Pour cela,... | Catégorie: Dessin Licence: Freeware/gratuit |
![]() | SystemRescueCd - SystemRescueCd est un système d'exploitation Linux complet à une seule différence, c'est qu'il ne nécessite aucune... | Catégorie: Système Licence: Freeware/gratuit |
![]() | Ext2 Installable File System - Vous pouvez installer deux systèmes d'exploitations différentes sur votre ordinateur. Par exemple Windows et Linux. Mais le... | Catégorie: Système Licence: Open Source |
![]() | avast! Virus Cleaner - Tout le monde connaît l' antivirus gratuit Avast . Son éditeur propose avast! Virus Cleaner, un nettoyeur de virus... | Catégorie: Antivirus Licence: Freeware/gratuit |
![]() | Saitek Pro Yoke Flight | Catégorie: Joystick | 99.95 € Shoxx FR (Dretschler) |
![]() | Pinnacle Systems Studio MovieBox | Catégorie: Carte tuner TV | 119.98 € Rue du Commerce |
![]() | Pinnacle Systems PCTV Hybrid | Catégorie: Carte tuner TV | 74.90 € Cdiscount |
![]() | Pinnacle Systems PCTV Dual | Catégorie: Carte tuner TV | 54.99 € Cdiscount |