Recuperer le répertoire de lancement d'un process à partir de son nom

Recuperer le répertoire de lancement d'un process à partir de son nom - Perl - Programmation

Marsh 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

Reply

Marsh Posté le 20-10-2003 à 15:08:40   

Reply

Marsh 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) ?

Reply

Marsh Posté le 29-10-2003 à 14:25:26    

use Cwd;
 
print "le repertoire de lancement est ", cwd(), "\n";
1;

Reply

Marsh Posté le 30-10-2003 à 02:34:45    

bernix : ce n'est pas possible.

Reply

Marsh 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

Reply

Marsh 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.

Reply

Marsh 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

Reply

Marsh 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 ?

Reply

Marsh 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...

Reply

Marsh 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";

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed