Salvataggio e sovrascrittura fileHo uno script JSL che apre e chiude i fogli serval. Mentre sono aperti, unisce i documenti in un unico file, quindi salva il file in una cartella locale. Lo script sovrascrive attualmente il file esistente nella cartella locale. Esiste uno script che popolerebbe un nuovo file in una sottocartella (idealmente, distinto dall'etichettare il timestamp di creazione sul titolo "Unito") ogni volta che viene eseguito lo script, invece di sovrascrivere quello corrente? O meglio ancora, va bene se quello attuale viene sovrascritto, ma una copia di esso viene salvata in una sottocartella ogni volta che viene eseguito lo script? Una specie di registro arretrato che posso guardare, ma altri possono vedere solo la versione "live".
@txnelson , ti ho visto aiutare qui con qualcosa di simile: https://community.jmp.com/t5/Discussions/Save-new-graph-invece-of-overwriting-the-already-saved-ones/mp/54078#M30546
Forse è una variazione di questo?
Tabella datiSceneggiaturafinestreRe: Salvataggio e sovrascrittura fileEntrambe le opzioni sono possibili con un po' di scripting. Puoi facilmente ottenere "timestamp" usando Today().
Ecco un esempio abbastanza semplice di come potresti risparmiare semplicemente con il timestamp:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
table_name = dt << get name;
timestamp = Today();
save_path = Eval Insert("$temp\^timestamp^_^table_name^.jmp");
dt << Save(save_path);
Open("$temp");
Con il salvataggio in un'altra cartella, puoi semplicemente eseguire due salvataggi con percorsi e nomi di file diversi o copiare il file.
Re: Salvataggio e sovrascrittura filePuoi usare
rc = Copy File( from, to );
per copiare il file.Cerca nell'editor di script i dettagli e un buon esempio sul file di copia
Una volta copiato il file nella sottodirectory desiderata, puoi semplicemente usarlo
data table("table name") << Save ("file path" );
per salvare la nuova tabella.Nel percorso del file, fornisci il percorso e il nome completo del file, inclusa l'estensione .jmp.
Re: Salvataggio e sovrascrittura fileGrazie jthi!
Lo script funziona alla grande, tranne per il fatto che il timestamp popola valori come "3727386650" prima del nome della tabella. Ho provato a fare il timestamp:
timestamp = As Date( Today() );
Per popolare la data e l'ora, ma lo script non è stato in grado di salvare il file.
Re: Salvataggio e sovrascrittura fileToday() genera timestamp, ma è nel valore di data e ora JMP Utilizzo di date, orari, datetime e durate in JMP .
Se usi AsDate() molto probabilmente conterrà alcuni caratteri che non sono consentiti nei nomi dei file. Che tipo di formato vuoi? Puoi costruirlo da datetime Today() ti dà, controlla Scripting Index e Date Time parte:

Da lì puoi trovare funzioni come Year(), Month(), Day(), Hour(), Minute() e Second() con queste (combinate con Char() o Eval Insert() puoi costruire la versione più robusta di il timestamp che desideri.
Modificare:
Questo è un codice un po' lungo, ma dovrebbe essere abbastanza robusto e fondamentalmente darti una stringa formattata AAAAMMGG_hhmmss
Names Default To Here(1);
cur_time = Today();
yyyy = char(Year(cur_time));
//add spanning
mm = char(Month(cur_time));
mm = Substr("00", 1, 2 - Length(mm)) || mm;
dd = char(Day(cur_time));
dd = Substr("00", 1, 2 - Length(dd)) || dd;
hh = char(Hour(cur_time));
hh = Substr("00", 1, 2 - Length(hh)) || hh;
min = char(Minute(cur_time));
min = Substr("00", 1, 2 - Length(min)) || min;
ss = char(Second(cur_time));
ss = Substr("00", 1, 2 - Length(ss)) || ss;
timestamp_str = yyyy || mm || dd ||"_"|| hh || min || ss;