Standardverzeichnis festlegen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />In dem Skript, das ich schreibe, bitte ich den Benutzer um eine zu importierende Datei (eine Excel-Datei).
Anschließend erstelle ich einen Ordner auf derselben Ebene wie die importierte Datei, um die gesamte Analyse vor Ort zu speichern.
Das Skript tut es grundsätzlich
Wenn ( Verzeichnis existiert ( saveDirectory ) ,
,
Verzeichnis erstellen ( saveDirectory )
) ;
Standardverzeichnis festlegen ( saveDirectory ) ;
Der Rest des Skripts speichert PNG-Dateien als Analyseergebnisse.(Bitte machen Sie die PowerPoint-Ausgabe nutzbar, aber das ist ein anderes Problem.)
Dies funktioniert auf meinem Mac einwandfrei, funktioniert jedoch nicht bei Benutzern, die Windows ausführen.
Das Verzeichnis wird erstellt, das festgelegte Standardverzeichnis wird jedoch nicht berücksichtigt.Es verwendet den JMP-Ordner in den Programmdateien.
Ich verwende JMP 12 und die Benutzer verwenden JMP 11.
Ist das ein bekannter Fehler oder muss ich für die Windows-Version etwas anderes tun?
Andy
Betreff: Standardverzeichnis festlegenIch habe das gleiche Problem.Gibt es eine Problemumgehung?
Ich möchte ein Skript ausführen, in dem der Benutzer navigiert und eine Datentabelle zum Öffnen auswählt.
Nachdem das Skript abgeschlossen ist, kann der Benutzer das Skript sofort ein zweites Mal ausführen, und ich möchte standardmäßig das zuletzt ausgewählte Verzeichnis verwenden.
Danke.
Betreff: Standardverzeichnis festlegenFür diese Anfrage wurde ein Track eingegeben. Daraufhin wurde das Verhalten der Entwicklung gemeldet. Die Reaktion auf diesen Bericht war folgende:
In seiner aktuellen Implementierung gilt Set Default Directory() nur für die
aktuelle JSL-Ausführung. Das Standardverzeichnis muss auf die aktuellen JSL-Dateien zurückgesetzt werden
Verzeichnis für relative Pfade zur Arbeit.
Betreff: Standardverzeichnis festlegenJa, es fühlt sich definitiv wie ein Käfer an.Sie können einen Fall an senden support@jmp.com und sehen Sie, was sie sagen.
Betreff: Standardverzeichnis festlegenIch sehe ähnliche Dinge.
Ich mache genau das, was Sie in Teil 2 tun. Das funktioniert gut auf einem Mac und gibt mir auch den Fehler unter Windows.
Das Festlegen des Standardverzeichnisses (saveDirectory) als private Variable scheint sicherlich nicht die Absicht zu sein.Warum sollte ich etwas festlegen können, das ich verwenden kann?
Ich mache auch die Umgehungslösung, aber das sollte nicht sein?
Betreff: Standardverzeichnis festlegenWenn ich sowohl JMP 11 als auch JMP 12 verwende, habe ich unter Windows keine Probleme.Eine Sache, die Sie beim Debuggen wissen sollten: Wenn ich das folgende Skript als solches ausführe, läuft es einwandfrei.Wenn ich jedoch versuche, Teil 1 und DANN Teil 2 auszuführen, tritt ein E/A-Fehler auf.Das Festlegen des Standardverzeichnisses scheint eine private Variable zu sein, da sie nicht hängen bleibt.
//Teil 1
saveDirectory = "C:\TEMP";
if(Verzeichnis existiert(saveDirectory),
,
Verzeichnis erstellen (saveDirectory)
);
Standardverzeichnis festlegen (saveDirectory);
text = "test";
//Teil 2
Textdatei speichern("test.txt", text);
open("test.txt");
Ich bin mir nicht sicher, warum es nicht funktioniert, aber als Workaround können Sie jederzeit eine einfache zweistufige Änderung vornehmen:
Dateipfad = saveDirectory || "Beispiel.png";
pic_obj << Bild speichern( Dateipfad, "png" );
Ich würde mir auch Sorgen um die Schreibberechtigungen machen, wenn sie versuchen, ein sicheres Verzeichnis zu speichern, aber das scheint kein Problem zu sein, da das Verzeichnis, wie Sie sagen, erstellt wird.