Page 1 sur 1
[R] Chemin d'éxécution
Posté : mar. 02 déc. 2014 11:17
par flammedemon
Bonjour,
Je cherche à trouver le chemin d'execution de mon programme :
Ex : c:\partage\installeur
Ex2: \\postedetoto\partage\installeur\
Ex3 : x:\partage\installeur\
J'utilise la commande @ScriptDir qui me donne satisfaction, mais je veux l'utiliser pour trouver le répertoire en dessous (dans l'exemple partage, le script étant lancé depuis le dossier installeur).
J'ai tenté sa (sans succès) :
et sa
et puis sa
et encore sa
Je ne saisi pas comment je peux le faire, je suis sur que c'est bête mais malheureusement j'ai pas trouvé.
Re: [..] Chemin d'éxécution
Posté : mar. 02 déc. 2014 11:26
par Faco
Salut,
pas tout compris mais je répond quand même ^^.
pour moi tu veux le dossier juste supérieur.
ex : "\\postedetoto\partage\installeur\" => "installeur"
Dans ce cas, essaie avec StringSplit et @ScriptDir
Re: [..] Chemin d'éxécution
Posté : mar. 02 déc. 2014 11:31
par flammedemon
Faco a écrit :Salut,
pas tout compris mais je répond quand même ^^.
pour moi tu veux le dossier juste supérieur.
ex : "\\postedetoto\partage\installeur\" => "installeur"
Dans ce cas, essaie avec StringSplit et @ScriptDir
En faite le script es lancer dans installeur avec @ScriptDir je vois bien ceci du coup (c:\partage\installeur)
Moi ce que je souhaite c'est trouver c:\partage le répertoire du dessous !
Re: [..] Chemin d'éxécution
Posté : mar. 02 déc. 2014 11:37
par DimVar
Bonjour,
Qu'entendez-vous par "répertoire en dessous" ? La notion de parent/enfant vous est elle familière ? (éventuellement aval/amont)
Ex:
C:\dossier1\dossier2\
Le "dossier1" est le dossier parent de "dossier2". Le "dossier2" est le dossier enfant.
La chaine (string) renvoyée par @scriptdir est effectivement gérable (split) avec les fonctions précisées par Faco. Etudier la fonction "stringsplit".
StringSplit (@ScriptDir,"\") ; S'il s'agit d'un chemin local
StringSplit (@ScriptDir,"/") ; S'il s'agit d'un chemin reseau
Cdlt, Dimvar.
Re: [..] Chemin d'éxécution
Posté : mar. 02 déc. 2014 11:50
par Clampu
Je pense qu'il voulait dire "dessus" et pas "dessous"
Si c'est le cas, tu peux utiliser
Code : Tout sélectionner
StringSplit(@ScriptDir, "\")[StringSplit(@ScriptDir, "\")[0]]
Re: [..] Chemin d'éxécution
Posté : mar. 02 déc. 2014 12:34
par flammedemon
Clampu a écrit :Je pense qu'il voulait dire "dessus" et pas "dessous"
Si c'est le cas, tu peux utiliser
Code : Tout sélectionner
StringSplit(@ScriptDir, "\")[StringSplit(@ScriptDir, "\")[0]]
Merci de vos réponses Facon, DimVar et Clampu mais il supprime tout ce que je veux récupéré justement. Je veux effectivement le dossier parent.
Petite question autre si c'est un lecteur mappé il le considère en tant que chemin local ou réseau ?
Re: [..] Chemin d'éxécution
Posté : mar. 02 déc. 2014 13:00
par walkson
Bonjour,
Pour remonter d'un ou de deux niveaux:
Code : Tout sélectionner
Msgbox (0, @ScriptDir, StringRegExpReplace(@ScriptDir , '(.+\\)[^\\]+', "$1") )
Msgbox (0, @ScriptDir, StringRegExpReplace(@ScriptDir , '(.+\\)(.+\\)[^\\]+', "$1") )
Re: [..] Chemin d'éxécution
Posté : mar. 02 déc. 2014 13:10
par flammedemon
walkson a écrit :Bonjour,
Pour remonter d'un ou de deux niveaux:
Code : Tout sélectionner
Msgbox (0, @ScriptDir, StringRegExpReplace(@ScriptDir , '(.+\\)[^\\]+', "$1") )
Msgbox (0, @ScriptDir, StringRegExpReplace(@ScriptDir , '(.+\\)(.+\\)[^\\]+', "$1") )
C'est exactement sa

Merci à toi
Re: [..] Chemin d'éxécution
Posté : mar. 02 déc. 2014 13:49
par DimVar
flammedemon a écrit :Petite question autre si c'est un lecteur mappé il le considère en tant que chemin local ou réseau ?
Lecteur local (c'est l'un des intérêt du mappage).
Cdlt, Dimvar.
Re: [R] Chemin d'éxécution
Posté : mar. 02 déc. 2014 13:52
par jguinch
Pour choisir le nombre de niveaux, tu peux faire comme ça (remplacer "1" par le nombre de niveaux à remonter) :
Code : Tout sélectionner
ConsoleWrite( StringRegExpReplace(@ScriptDir, "(\\[^\\]+){1}$", "") )
Sinon, tu peux aussi passer par _PathFull :
Code : Tout sélectionner
#include <File.au3>
ConsoleWrite( _PathFull(@ScriptDir & "\.." ) )