Wie erhalte ich den Pfad zur aktuellen Projektdatei?Wenn ich ein Skript innerhalb eines Projekts habe (oder möglicherweise einen Verweis auf das Projekt in einem Skript außerhalb des Projekts), wie erhalte ich dann den Dateipfad zum Speicherort des Projekts auf der Festplatte?Ich bin daran interessiert, dies mit JSL zu tun, nicht interaktiv.
Automatisierung und SkripterstellungWindowsBetreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Aufgrund des Schweigens vermute ich, dass dies möglicherweise nicht (einfach) möglich ist?
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Ich finde keine spezifische Funktion für ein JMP-Projekt. Auch für Projekte gibt es keine Pfadvariable. Es steht Ihnen frei, ein Projekt an einem beliebigen Ort zu speichern. Es handelt sich um eine Art JMP-Datei. Wenn Sie also ein Projekt öffnen oder speichern, beginnt JMP mit dem letzten Verzeichnis. Sie können diese Informationen mit der Funktion „Get Default Directory()“ abrufen.

Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Ich hatte auch damit zu kämpfen. Selbst wenn es möglich wäre, würde es für das, was ich tun wollte, nicht funktionieren, da die Dateien in einem Projekt bei Bedarf entpackt werden und nicht beim ersten Öffnen des Projekts. Mein Anwendungsfall bestand darin, einen Dateipfad für eine Ressource im Projekt zu benötigen, der zu einem externen Programm führen würde. Am Ende habe ich „loadtextfile(proj file name)/savetextfile($temp/name)“ verwendet und den Namen der temporären Datei gesendet.
Ein Projekt für ein Projekt verwenden - Audio.jsl übergibt eine Datei zur Wiedergabe an Powershell.
Was versuchst du zu machen?
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?
Was versuchst du zu machen?
Das ist eine gute Frage, und wahrscheinlich hätte ich sie in der ursprünglichen Frage beantworten sollen.Bei der Arbeit an einem Projekt wäre es manchmal hilfreich, den Pfad zum Projekt schnell kopieren zu können, um entweder den enthaltenen Ordner zu öffnen und andere zugehörige Dateien anzuzeigen oder den Link in meinen Notizen zu speichern oder an einen Kollegen zu senden.Dies ist eine relativ häufige und nützliche Funktion, die in vielen Code-Editoren und Office-Suite-Software zu finden ist.Natürlich können Sie die Datei auch einfach auf andere Weise durchsuchen, aber diese Aufgabe kommt bei mir so häufig vor, dass es praktisch ist, eine schnelle Methode zu haben, bei der ich nicht jedes Mal meine Dateiorganisationsstruktur im Kopf analysieren muss.Vielen Dank für Ihre Zeit!
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Vielen Dank, dass Sie sich das angeschaut haben.Ich hatte Glück, Get Default Directory() in einfachen Skripten zu verwenden, aber wenn ein Skript in einem Projekt gespeichert wird, gibt es nur den Pfad innerhalb der Projektdatei zurück und nicht den Ort, an dem das Projekt gespeichert ist:
Get Default Directory() = "jmpprj://contents/";
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?@aaron_andersen , @julianisch - Er hat recht; Ich habe in der Vergangenheit auf Datei->Speichern unter zurückgegriffen, um den Pfad zu ermitteln. Die aktuelle Dateiliste des Startfensters ist besser und bietet sowohl den Kopierpfad als auch das Öffnen des enthaltenen Fensters. Möglicherweise könnten diese auch in Datentabellen-, Skript- und Projektfenstern angezeigt werden. Das System-Popup in der Titelleiste könnte eine Alternative zum Dateimenü sein.
Ich denke, Projekte könnten ein Sonderfall von JSL sein; Datentabellen und Skripte können bereits ihren Pfad finden.
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?
@Craige_Hales schrieb:
@aaron_andersen , @julianisch - Er hat recht; Ich habe in der Vergangenheit auf Datei->Speichern unter zurückgegriffen, um den Pfad zu ermitteln.
Ja, das habe ich gelegentlich auch genutzt.Soweit ich mich erinnere, funktioniert es jedoch nicht, wenn Sie die Projektdatei seit dem Öffnen nicht gespeichert haben.
Die Liste der zuletzt verwendeten Dateien im Startfenster ist besser und bietet sowohl den Kopierpfad als auch das Öffnen des enthaltenen Fensters.
Ah, das ist zumindest eine anständige Lösung.Danke.
Möglicherweise könnten diese auch in Datentabellen-, Skript- und Projektfenstern angezeigt werden. Das System-Popup in der Titelleiste könnte eine Alternative zum Dateimenü sein.
Ich denke, Projekte könnten ein Sonderfall von JSL sein; Datentabellen und Skripte können bereits ihren Pfad finden.
Es wäre großartig, diese Funktion in einem Menü zu haben.Wenn es auch über JSL verfügbar wäre, wäre das ein Plus.
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Besser spät als nie (hoffe ich). Ich glaube, Sie suchen nach der Meldung „Project File Path()“ im Projekt selbst.
Von außerhalb des Projekts:
project = Open( "$SAMPLE_PROJECTS/Big Class.jmpprj" );
path = project << project file path();
Oder innerhalb des Projekts mit diesem Projekt():
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()
);
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Hallo Aaron,
Immer besser spät als nie! Ist „Projektdateipfad“ neu in JMP 18? Wenn ich das Skript in JMP 17 ausführe, erhalte ich:
Object 'Project' does not recognize the message 'project file path'; perhaps you mean one of these: <<<<<<<<< re>Thanks,Austin
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Es stellt sich heraus, dass diese Nachricht erst ab JMP 18.2 (in der Zukunft) verfügbar ist.
Tatsächlich scheint es so, als hätte ich es Anfang des Jahres als Antwort auf diese Frage hinzugefügt, aber fälschlicherweise markiert, dass es seit JMP 14 existiert. Dann habe ich irgendwie vergessen, dass ich das getan hatte , sodass ich, als ich diesen Thread einige Monate später wieder entdeckte, nach einer Lösung suchte und die fand, die ich vor Kurzem erstellt hatte (aber dachte, sie sei viel älter als sie war).
Das tut uns leid.
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?// Ich hatte ein ähnliches Problem beim Entfernen des Dateinamens aus dem Dateipfad
Namen werden standardmäßig hier verwendet (1);
dt = Aktuelle Datentabelle();
aktuelle_Datei = dt << Pfad abrufen();
aktuelles_Verzeichnis = Word([1 -2], aktuelle_Datei, "\");
// gib den kompletten String ([1 -1]) zurück, mit Ausnahme des letzten Wortes ([1 -2])
Daten = Datei auswählen(
"Datendateien auswählen",
aktuelles_Verzeichnis,
{"Excel|csv","JMP-Dateien|jmp;jsl;jrn","Alle Dateien|*"},
1,
0,
"", mehrere
);
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Ah, ich liebe die Geschichte. Keine Sorge. Ich kann nur lachen, weil es genau nach der Art von Dingen klingt, die ich tun würde. Wie oft habe ich eine Funktion geschrieben, um ein Problem zu lösen, nur um dann festzustellen, dass ich 6 Monate zuvor genau dasselbe unter einem anderen Namen gemacht hatte ...
Wie dem auch sei, ich bin froh zu hören, dass die Funktionalität auf dem Weg ist!
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?Hallo, wir haben jetzt JMP 18.2.
wo kann es abgefragt werden?
Betreff: Wie erhalte ich den Pfad zur aktuellen Projektdatei?In JSL.
path = this project() << project file path();
show(path);
Getestet im Jahr 19EA.