Recuperer le répertoire de lancement d'un process à partir de son nom
bernix
Posté le 20-10-2003 à 15:08:40
Bonjour,
En langage Perl, je voudrais dans l'environnement Windows, récupérer le path de lancement d'une application à partir de son nom.
Par exemple, si j'execute l'application toto.exe du répertoire c:\temp, je voudrais récupérer c:\temp
Merci
Publicité
Posté le 20-10-2003 à 15:08:40
pospos
Posté le 20-10-2003 à 16:39:03
je compredn pas trop ce que tu veux
tu est dans l'application en question? ou c'est une appli externe dont tu connais le nom complet (path+nom) ?
phoenix35
Posté le 29-10-2003 à 14:25:26
use Cwd;
print "le repertoire de lancement est ", cwd(), "\n";
1;
matafan
Posté le 30-10-2003 à 02:34:45
bernix : ce n'est pas possible.
urd-sama
waste of space
Posté le 30-10-2003 à 08:54:52
phoenix a raison, si tu veux le répertoire courant, c'est Cwd qu'il faut utiliser
matafan
Posté le 31-10-2003 à 04:31:31
Ben oui mais sauf que si j'ai bien compris ce n'est pas ce qu'il veut. Il veut le path du programme qu'il a lancé. Qui peut évidemment être différent du répertoire courant du programme en question.
Et ça, c'est pas possible.
pospos
Posté le 31-10-2003 à 17:55:35
avec $0 (zero) tu a le nom complet du script que tu a lancé
apres pour recuperer le chemin une simple regexp suffit
matafan
Posté le 01-11-2003 à 06:22:52
Tu n'as pas le nom complet, tu as seulement la commande qui a été tapée. C'est completement inutile si tu lances une commande du PATH, et completement inutile aussi si tu lances la commande avec un chemin relatif.
Pourquoi personne ne me croit quand je dis que c'est impossible ?
pospos
Posté le 01-11-2003 à 17:35:06
Pas la peine de se casser le cul: le mec n'a pas repondu à un seul post de ce topic, il n'en a rien à branler...
C'est lourd ce genre de type...
phoenix35
Posté le 05-11-2003 à 15:44:34
Bon au cas ou ca interesse quand meme du monde. Pour avoir le passe vers le script lance, il suffit d'utiliser le module FindBin, par exemple:
use FindBin;
print "le script se trouve dans le dossier :", $FindBin::Bin, "\n";