Je voudrais qu'une commande renvoie le chemin du script JSL. Par exemple, si j'exécute un script "/Users/John_Doe/Documents/JMP/JMP Scripts/myscript.jsl", et que j'aimerais avoir une commande comme celle-ci dans le script :
thispath = Get Current Script Path(); <BR />Show(thispath);<BR />
Et j'aimerais que ceci revienne : "/Users/John_Doe/Documents/JMP/JMP Scripts/myscript.jsl"
Le motif de cette demande :
J'ai un script "fonctions communes.jsl" que beaucoup de mes scripts appellent en utilisant "Inclure". Il contient de nombreuses fonctions utilisateur fréquemment utilisées que je ne souhaite pas copier dans chaque nouveau script que j'écris. J'aime également partager mes scripts avec les autres membres de mon groupe, ainsi que "commonfunctions.jsl". Je peux exiger que les membres de mon groupe placent le fichier function.jsl commun au même endroit par rapport au JSL qui l'appelle (par exemple, le même dossier ou dossier parent), mais je ne peux pas contrôler quels seront les noms de chemin globaux. Si j'avais le nom du chemin du script appelant, je pourrais facilement l'utiliser pour déterminer où se trouve "common function.jsl" (par exemple "/Users/John_Doe/Documents/JMP/JMP Scripts/common function.jsl").
Je ne peux pas utiliser Get Default Directory(). J'ai trouvé que cette commande renvoie uniquement le chemin du fichier le plus récent ouvert à l'aide de la boîte de dialogue Ouvrir un fichier. Cela fonctionne si l'utilisateur ouvre le script et l'exécute immédiatement. Le problème est que si l'utilisateur ouvre un autre script après avoir ouvert "myscript.jsl", mais essaie ensuite d'exécuter "myscript.jsl". Dans ce cas, Get Default Directory() renverra le chemin de l'autre script, pas "myscript.jsl". De plus, Get Default Directory() n'est pas mis à jour si un script est ouvert à partir de la liste des fichiers récents.
Des suggestions, ou est-ce quelque chose qui n'existe pas encore ? Merci pour votre aide.
J'aimerais avoir cette fonctionnalité. Est-ce que quelque chose s'est déjà produit avec ça ?
J'ai été coincé avec :
curdir = Substr(Get Default Directory(), 2, 999);
Convert File Path( "", windows )|| (current window() << get window title) ||".jsl"