Nach Dateinamen suchenHallo. Gibt es eine Möglichkeit, dass ein Skript den Computer des Benutzers nach einem bestimmten Dateinamen durchsucht und den Pfad zurückgibt? Ich verwende einen Mac und JMP14.3 atm. Ich bin daran interessiert, ein Add-In zu erstellen, das ein anderes Skript auf dem Computer des Benutzers aufruft, weiß aber nicht, wo der Benutzer das Skript gespeichert hat.
Im Add-In denke ich etwa so:
y = Files In Directory("$HOME", "recursive"); //Returns {}
y = Files In Directory("$HOME", "Recursive"); //Returns {}
y = Files In Directory("$HOME", recursive); //Returns {}
y = Files In Directory("$HOME", Recursive); //Returns {}
y = Files In Directory("$HOME", Recursive(1)); //Returns {}
//All options above just return {}. I'm curious if this is unique to my setup (Mac, JMP14.3).
//Add-in code
path = [command or function to search for "myscript.jsl" on user's computer and return a path];
Include(path, New Context);
//Things I've explored:
//Not certain what the "search" option does, but seemed worth a go.
//This only returns my default directory with "myscript.jsl" appended
//(even though there is no such file in that location)
path = ConvertFilePath("myscript.jsl", search);
//There's also this, but same result as above:
Set File Search Path("$HOME/");
path = ConvertFilePath("myscript.jsl", search);
//As a last resort, I looked at this, thinking maybe if I could get a list of all files,
//I could then search the list for myscript.jsl. Unfortunately I cannot get the "recursive"
//option to work on my machine (Mac, JMP14.3). I imagine this would be a very slow method
//though as there are 1000s of files in a typical user's home directory.
Ansonsten habe ich keine Ideen mehr. Hat jemand Vorschläge? Danke.
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVerbraucher- und MarktforschungVersuchsplanungBetreff: Nach Dateinamen suchenDanke für den Vorschlag, ih. Ich habe mir das angeschaut, muss aber leider sagen, dass ich mit dem Befehl „Programm ausführen“ nicht ausreichend vertraut bin, um dies zum Laufen zu bringen. Auf den ersten Blick scheint es, dass im Feld „Ausführbare Datei“ eine tatsächliche Datei und nicht nur eine Zeichenfolge erforderlich ist. Das begibt sich für mich leider auf unbekanntes Terrain.
Ich habe einen diesbezüglichen Wunschlisteneintrag erstellt: Ist es möglich, dass ein Add-In nach einem Skript sucht und es ausführt?
Ich freue mich über die Fragen am Ende Ihrer Antwort und habe versucht, diese Fragen in diesem Wunschlistenbeitrag zu beantworten.
Nochmals vielen Dank für Ihre Hilfe.
Betreff: Nach Dateinamen suchenWenn Sie das gesamte Laufwerk durchsuchen müssen, möchten Sie wahrscheinlich die Indizierung nutzen, die das Betriebssystem bereits durchgeführt hat, was ich getan habe denken ist mit „find“ im Terminal möglich.
find / -name abc.dmg
Sie können dies mit „Programm ausführen“ aufrufen.Ich vermute den Dateipfad für find und die Syntax, aber der Aufruf könnte etwa so aussehen:
Run Program(
Executable( "/usr/bin/find"),
options( {"/ -name abc.dmg"} )
);Einige andere Dinge, die Sie beachten sollten:
- Könnten Sie das Skript in Ihr Add-In einbinden?
- Dies wird wahrscheinlich langsam sein. Wäre es schneller, den Benutzer einfach aufzufordern, die Datei zu öffnen?
- Wenn der Benutzer die Datei auswählt, können Sie den Pfad speichern und bei späteren Ausführungen nicht mehr danach fragen, oder Sie können die Datei in den Add-In-Ordner kopieren.