Voglio estrarre tutti i dati dal mio file .csv e metterlo in una cartella. Ogni volta che eseguo il mio codice, il problema è che ogni volta viene generata una cartella diversa perché utilizzo questa riga di codice:
newDir = filepath||Substitute(MDYHMS(Today()), "/", "-", ":", ".");
La domanda è, come posso generare ogni volta nuova cartella ma allo stesso tempo eliminare la cartella creata precedente usando lo scritto di JMP? Non voglio che la mia directory sia piena di cartelle ogni volta che eseguo il mio script perché ho solo bisogno dell'ultima cartella. Di seguito è parte del mio codice. Grazie mille!
dt.file = Pick File();
//Get csv file directory path
prefilepath=substr(dt.file,1,length(dt.file)-length(word(-1,dt.file,"\/"))-1);
If( Host is( Mac ),
filepath="/"||prefilepath,
filepath = Convert File Path( prefilepath, Windows )
);
Show(filepath);
//Create new directory to save all the extracted .csv files
newDir = filepath||Substitute(MDYHMS(Today()), "/", "-", ":", ".");
CreateDirectory(newDir);
Show(newDir);
Stai attento, sono riuscito a cancellare la directory sbagliata almeno una volta quando ho scritto un codice come questo.
Usa filesInDirectory (...) con l'opzione per restituire i nomi delle directory. Assicurati di utilizzare un formato per le date che ordinano correttamente (AAAAMMGG, ad esempio, ma non GGMMAAAA). Ordinare l'elenco da FilesInDirectory, selezionare il più piccolo che corrisponde al tuo modello . Ti consiglio di aggiungere del testo extra al nome del file che puoi controllare, qualcosa di simile
file / DeleteTomorrow-2019/04/19.CSV
ciò aiuterà a prevenire un errore un anno dopo quando qualcun altro sta mantenendo il codice.
Ci sono molte varianti possibili per mantenere diverse versioni, suggerendo quando qualcosa sembra strano, ecc.