Comment obtenir le chemin d'accès au fichier du projet actuel ?Si j'ai un script dans un projet (ou peut-être une référence au projet dans un script en dehors du projet), comment puis-je obtenir le chemin du fichier vers l'endroit où le projet est enregistré sur le disque ?Je souhaite faire cela avec JSL, pas de manière interactive.
Automatisation et scriptsles fenêtresRe : Comment obtenir le chemin d'accès au fichier du projet actuel ?D'après le silence, je suppose que cela n'est peut-être pas (facilement) possible ?
Re : Comment obtenir le chemin d'accès au fichier projet actuel ?Je ne trouve pas de fonction spécifique à un projet JMP. Il n'y a pas non plus de variable de chemin pour les projets. Vous êtes libre de sauvegarder un projet où vous le souhaitez. C'est une sorte de fichier JMP, donc lorsque vous ouvrez ou enregistrez un projet, JMP démarre par le dernier répertoire. Vous pouvez obtenir ces informations à l’aide de la fonction Get Default Directory().

Re : Comment obtenir le chemin d'accès au fichier projet actuel ?J'ai aussi eu du mal avec ça. Même si c'était possible, cela ne fonctionnerait pas pour ce que je voulais faire car les fichiers d'un projet sont décompressés à la demande, et non lors de la première ouverture du projet. Mon cas d'utilisation avait besoin d'un chemin de fichier pour une ressource du projet... qui irait vers un programme externe. J'ai fini par utiliser loadtextfile(proj file name)/savetextfile($temp/name) et envoyer le nom du fichier temporaire.
Utiliser un projet pour un projet - Audio.jsl transmet un fichier à PowerShell pour qu'il soit lu.
Qu'essayez-vous de faire?
Re : Comment obtenir le chemin d'accès au fichier projet actuel ?
Qu'essayez-vous de faire?
C'est une bonne question, à laquelle j'aurais probablement dû répondre dans la question initiale.Lorsque vous travaillez sur un projet, il serait parfois utile de pouvoir copier rapidement le chemin d'accès au projet pour soit ouvrir le dossier contenant pour afficher d'autres fichiers associés, soit stocker le lien dans mes notes ou l'envoyer à un collègue.Il s'agit d'une fonctionnalité relativement courante et utile que l'on trouve dans de nombreux éditeurs de code et logiciels de suite bureautique.Bien sûr, vous pouvez simplement accéder au fichier par d'autres moyens, mais c'est une tâche suffisamment courante pour moi et il est pratique d'avoir une méthode rapide qui ne m'oblige pas à analyser mentalement la structure de mon organisation de fichiers à chaque fois.Merci pour votre temps!
Re : Comment obtenir le chemin d'accès au fichier projet actuel ?Merci d'avoir étudié cela.J'ai eu de la chance en utilisant Get Default Directory() dans des scripts nus, mais lorsqu'un script est enregistré dans un projet, il renvoie simplement le chemin dans le fichier du projet plutôt que l'endroit où le projet est stocké :
Get Default Directory() = "jmpprj://contents/";
Re : Comment obtenir le chemin d'accès au fichier du projet actuel ?@aaron_andersen , @julien - Il a raison; J'ai eu recours à l'utilisation de file->SaveAs pour découvrir le chemin dans le passé. La liste des fichiers récents de la fenêtre d'accueil est meilleure, offrant à la fois un chemin de copie et une fenêtre de conteneur ouverte. Peut-être que ceux-ci pourraient également être exposés sur la table de données, le script et les fenêtres de projet. La fenêtre contextuelle du système dans la barre de titre peut être une alternative au menu Fichier.
Je pense que les projets peuvent être un cas particulier pour JSL ; les tables de données et les scripts peuvent déjà trouver leur chemin.
Re : Comment obtenir le chemin d'accès au fichier projet actuel ?
@Craige_Hales a écrit:
@aaron_andersen , @julien - Il a raison; J'ai eu recours à l'utilisation de file->SaveAs pour découvrir le chemin dans le passé.
Oui, je l'ai également utilisé à l'occasion.D'après ce dont je me souviens, cela ne fonctionnera pas si vous n'avez pas enregistré le fichier de projet depuis son ouverture.
La liste des fichiers récents de la fenêtre d'accueil est meilleure, offrant à la fois un chemin de copie et une fenêtre de conteneur ouverte.
Ah, c'est au moins une solution de contournement décente.Merci.
Peut-être que ceux-ci pourraient également être exposés sur la table de données, le script et les fenêtres de projet. La fenêtre contextuelle du système dans la barre de titre peut être une alternative au menu Fichier.
Je pense que les projets peuvent être un cas particulier pour JSL ; les tables de données et les scripts peuvent déjà trouver leur chemin.
Avoir cette fonction dans certains menus serait génial.S'il était également disponible via JSL, ce serait un plus.
Re : Comment obtenir le chemin d'accès au fichier de projet actuel ?Mieux vaut tard que jamais (je l'espère), je pense que ce que vous recherchez est le message Project File Path() sur le projet lui-même.
De l'extérieur du projet :
project = Open( "$SAMPLE_PROJECTS/Big Class.jmpprj" );
path = project << project file path();
Ou à l'intérieur du projet en utilisant ce projet() :
project = Open( "$SAMPLE_PROJECTS/Big Class.jmpprj" );
project << Run Script(
// this line should work from any JSL script executed from within the project
path = this project() << project file path()
);
Re : Comment obtenir le chemin d'accès au fichier de projet actuel ?Salut Aaron,
Mieux vaut tard que jamais ! Le « chemin du fichier de projet » est-il nouveau dans JMP 18 ? Lorsque j'exécute le script dans JMP 17, j'obtiens :
Object 'Project' does not recognize the message 'project file path'; perhaps you mean one of these: <<<<<<<<< re>Thanks,Austin
Re : Comment obtenir le chemin d'accès au fichier de projet actuel ?Il s'avère que ce message n'est pas disponible avant (le futur) JMP 18.2.
En fait, il semble que je l'ai effectivement ajouté plus tôt cette année en réponse à cette question, mais que je l'ai marqué à tort comme existant depuis JMP 14. Puis j'ai en quelque sorte oublié que je l'avais fait , de sorte qu'en retrouvant ce fil quelques mois plus tard, je suis allé chercher une solution et j'ai trouvé celle que j'avais récemment créée (mais je pensais qu'elle était beaucoup plus ancienne qu'elle ne l'était).
Désolé pour ça.
Re : Comment obtenir le chemin d'accès au fichier de projet actuel ?// J'ai eu un problème similaire en supprimant le nom du fichier du chemin du fichier
Les noms par défaut sont ici (1) ;
dt = Tableau de données actuel();
current_file = dt << Obtenir le chemin();
répertoire_courant = Word([1 -2], fichier_courant, "\");
// renvoie la chaîne complète ([1 -1]), à l'exception du dernier mot ([1 -2])
données = Sélectionner un fichier(
« Sélectionner les fichiers de données »,
répertoire_courant,
{"Excel|csv","Fichiers JMP|jmp;jsl;jrn","Tous les fichiers|*"},
1,
0,
"", plusieurs
);
Re : Comment obtenir le chemin d'accès au fichier de projet actuel ?Ah, j'adore l'histoire. Ne vous inquiétez pas. Je ne peux que rire parce que cela ressemble exactement au genre de chose que je ferais. Le nombre de fois où j'ai écrit une fonction pour résoudre un problème pour découvrir que j'avais fait exactement la même chose sous un nom différent 6 mois auparavant...
Quoi qu’il en soit, je suis heureux d’apprendre que la fonctionnalité est en route !
Re : Comment obtenir le chemin d'accès au fichier de projet actuel ?Bonjour, nous avons maintenant JMP 18.2.
où peut-on l'interroger ?
Re : Comment obtenir le chemin d'accès au fichier de projet actuel ?En JSL.
path = this project() << project file path();
show(path);
Testé en 19EA.