Salvataggio e sovrascrittura dei 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 attualmente sovrascrive il file esistente nella cartella locale. Esiste uno script che popolerebbe un nuovo file in una sottocartella (idealmente, distinto taggando il timestamp di creazione sul titolo "Merged") ogni volta che viene eseguito lo script, invece di sovrascrivere quello corrente? O meglio ancora, va bene se quello corrente è sovrascritto, ma una sua copia viene salvata in una sottocartella ogni volta che viene eseguito lo script? Una specie di registro arretrato che posso guardare ma gli altri possono vedere solo la versione "live".
@txnelson , ti ho visto aiutare qui con qualcosa di simile: Salva il nuovo grafico invece di sovrascrivere quelli già salvati
Forse è una variazione di questo?
Organizzazione dei contenutiCombinazione e pulizia dei datifinestreRe: Salvataggio e sovrascrittura dei fileHa funzionato a meraviglia! Grazie!
Re: Salvataggio e sovrascrittura dei fileToday() genera il timestamp, ma è nel valore data/ora JMP Utilizzo di date, ore, date e durate in JMP .
Se usi AsDate() molto probabilmente avrà alcuni caratteri non consentiti nei nomi dei file. Che tipo di formato desideri? Puoi costruirlo dal datetime che Today() ti fornisce, controlla la parte Scripting Index e Date Time:

Da lì puoi trovare funzioni come Year(), Month(), Day(), Hour(), Minute() e Second() con queste (combinate con Char() o Eval Insert() puoi creare la versione più robusta di il timestamp che desideri.
Modificare:
Questo è un codice un po' lungo, ma dovrebbe essere abbastanza robusto e fondamentalmente fornire 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;
Re: Salvataggio e sovrascrittura dei fileGrazie jthi!
Lo script funziona benissimo, tranne per il fatto che il timestamp inserisce valori come "3727386650" prima del nome della tabella. Ho provato a creare il timestamp:
timestamp = As Date( Today() );
Per popolare la data e l'ora, ma lo script non è riuscito a salvare il file.
Re: Salvataggio e sovrascrittura dei filePuoi usare
rc = Copy File( from, to );
per copiare il file.Cerca nello Script Editor i dettagli e un buon esempio sul file Copia
Una volta copiato il file nella sottodirectory desiderata, puoi semplicemente utilizzare
data table("table name") << Save ("file path" );
per salvare la nuova tabella.Nel percorso del file, inserisci il percorso e il nome completo del file, inclusa l'estensione .jmp.
Re: Salvataggio e sovrascrittura dei fileEntrambe le opzioni sono possibili con un po' di scripting. Puoi facilmente ottenere il "timestamp" utilizzando Today().
Ecco un esempio abbastanza semplice di come potresti salvare 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.