Come ottenere il percorso del file di progetto corrente?Se ho uno script all'interno di un progetto (o forse un riferimento al progetto in uno script esterno al progetto), come posso ottenere il percorso del file in cui il progetto è salvato sul disco?Sono interessato a farlo con JSL, non in modo interattivo.
Automazione e scriptingfinestreRi: Come ottenere il percorso del file di progetto corrente?Basandomi sul silenzio, immagino che questo potrebbe non essere (facilmente) possibile?
Ri: Come ottenere il percorso del file di progetto corrente?Non trovo una funzione specifica per un progetto JMP. Non esiste nemmeno una variabile di percorso per i progetti. Sei libero di salvare un progetto dove preferisci. È una sorta di file JMP, quindi quando apri o salvi un progetto, JMP inizierà con l'ultima directory. È possibile ottenere queste informazioni utilizzando la funzione Get Default Directory().

Ri: Come ottenere il percorso del file di progetto corrente?Ho lottato anche con questo. Anche se fosse possibile, non funzionerebbe per quello che volevo fare perché i file in un progetto vengono decompressi su richiesta, non quando il progetto viene aperto per la prima volta. Il mio caso d'uso necessitava di un percorso file per una risorsa nel progetto... che andasse a un programma esterno. Ho finito con loadtextfile(nome file proj)/savetextfile($temp/name) e inviando il nome del file temporaneo.
Utilizzare un progetto per un progetto - Audio.jsl passa un file a PowerShell per riprodurlo.
Cosa stai cercando di fare?
Ri: Come ottenere il percorso del file di progetto corrente?
Cosa stai cercando di fare?
Questa è una buona domanda, e probabilmente quella a cui avrei dovuto rispondere nella domanda originale.Quando si lavora su un progetto, a volte sarebbe utile poter copiare rapidamente il percorso del progetto per aprire la cartella che lo contiene per visualizzare altri file associati o per memorizzare il collegamento nelle mie note o inviarlo a un collega.Questa è una funzionalità relativamente comune e utile presente in molti editor di codice e software di suite per ufficio.Ovviamente puoi semplicemente cercare il file con altri mezzi, ma è un compito abbastanza comune per me che è utile avere un metodo rapido che non richieda di analizzare mentalmente la struttura organizzativa dei file ogni volta.Grazie per il tuo tempo!
Ri: Come ottenere il percorso del file di progetto corrente?Grazie per aver indagato su questo.Ho avuto fortuna con Get Default Directory() negli script semplici, ma quando uno script viene salvato in un progetto, restituisce semplicemente il percorso all'interno del file di progetto anziché il punto in cui è archiviato il progetto:
Get Default Directory() = "jmpprj://contents/";
Ri: Come ottenere il percorso del file di progetto corrente?@aaron_andersen , @giuliano - Ha ragione; Ho fatto ricorso all'utilizzo di file->Salva con nome per scoprire il percorso in passato. L'elenco dei file recenti della finestra principale è migliore, poiché offre sia il percorso di copia che la finestra contenente aperta. Forse questi potrebbero anche essere esposti su tabelle dati, script e finestre di progetto. Il popup di sistema sulla barra del titolo potrebbe essere un'alternativa al menu file.
Penso che i progetti possano essere un caso speciale per JSL; le tabelle di dati e gli script possono già ottenere il loro percorso.
Ri: Come ottenere il percorso del file di progetto corrente?
@Craige_Hales ha scritto:
@aaron_andersen , @giuliano - Ha ragione; Ho fatto ricorso all'utilizzo di file->Salva con nome per scoprire il percorso in passato.
Sì, l'ho usato anche io qualche volta.Da quello che ricordo, non funzionerà se non hai salvato il file di progetto da quando lo hai aperto.
L'elenco dei file recenti della finestra principale è migliore, poiché offre sia il percorso di copia che la finestra contenente aperta.
Ah, questa è almeno una soluzione alternativa decente.Grazie.
Forse questi potrebbero anche essere esposti su tabelle dati, script e finestre di progetto. Il popup di sistema sulla barra del titolo potrebbe essere un'alternativa al menu file.
Penso che i progetti possano essere un caso speciale per JSL; le tabelle di dati e gli script possono già ottenere il loro percorso.
Avere questa funzione in qualche menu sarebbe fantastico.Se fosse disponibile anche tramite JSL, sarebbe un vantaggio.
R: Come ottenere il percorso del file di progetto corrente?Meglio tardi che mai (spero), credo che quello che stai cercando sia il messaggio Project File Path() sul progetto stesso.
Da fuori il progetto:
project = Open( "$SAMPLE_PROJECTS/Big Class.jmpprj" );
path = project << project file path();
Oppure all'interno del progetto utilizzando questo project():
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()
);
R: Come ottenere il percorso del file di progetto corrente?Ciao Aaron,
Meglio tardi che mai! "Project file path" è una novità di JMP 18? Quando eseguo lo script in JMP 17, ottengo:
Object 'Project' does not recognize the message 'project file path'; perhaps you mean one of these: <<<<<<<<< re>Thanks,Austin
R: Come ottenere il percorso del file di progetto corrente?Sembra che il messaggio non sarà disponibile fino a (la futura) versione JMP 18.2.
In effetti, sembra che l'abbia effettivamente aggiunto all'inizio di quest'anno in risposta a questa domanda, ma l'ho contrassegnato erroneamente come esistente da JMP 14. Poi in qualche modo ho dimenticato di averlo fatto , tanto che quando ho incontrato di nuovo questo thread qualche mese dopo, ho cercato una soluzione e ho trovato quella che avevo creato di recente (ma pensavo fosse molto più vecchia di quanto non fosse).
Mi dispiace.
R: Come ottenere il percorso del file di progetto corrente?// Ho avuto un problema simile con la rimozione del nome del file dal percorso del file
I nomi predefiniti sono qui (1);
dt = Tabella dati corrente();
current_file = dt << Ottieni percorso();
directory_corrente = Word([1 -2], file_corrente, "\");
// restituisce la stringa completa ([1 -1]), eccetto l'ultima parola ([1 -2])
dati = Seleziona file(
"Seleziona file di dati",
directory_corrente,
{"Excel|csv","File JMP|jmp;jsl;jrn","Tutti i file|*"},
1,
0,
"", multiplo
);
R: Come ottenere il percorso del file di progetto corrente?Ah, adoro la storia. Non preoccuparti. Posso solo ridere perché sembra esattamente il genere di cose che farei. Il numero di volte in cui ho scritto una funzione per risolvere un problema solo per scoprire di aver fatto esattamente la stessa cosa con un nome diverso 6 mesi prima...
In ogni caso, sono contento di sapere che la funzionalità è in arrivo!
R: Come ottenere il percorso del file di progetto corrente?Ciao, ora abbiamo JMP 18.2.
dove è possibile effettuare ricerche?
R: Come ottenere il percorso del file di progetto corrente?Nella JSL.
path = this project() << project file path();
show(path);
Testato in 19EA.