Je souhaite extraire toutes les données de mon fichier .csv et les placer dans un dossier. Le problème est que chaque fois que je lance mon code, il va générer un dossier différent à chaque fois parce que j'utilise cette ligne de code:
newDir = filepath||Substitute(MDYHMS(Today()), "/", "-", ":", ".");
La question est, comment puis-je générer un nouveau dossier à chaque fois tout en supprimant le dossier créé précédemment en utilisant un script JMP? Je ne veux pas que mon répertoire soit plein avec le dossier à chaque fois que je lance mon script car je n'ai besoin que du dernier dossier. Ci-dessous fait partie de mon code. Merci beaucoup!
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);
Attention, j'ai réussi à supprimer le mauvais répertoire au moins une fois en écrivant un code comme celui-ci.
Utilisez filesInDirectory (...) avec l'option de renvoyer les noms de répertoire. Veillez à utiliser un format de tri correct pour les dates (AAAAMMJJ, par exemple, mais pas JJMMAAAA). Triez la liste de FilesInDirectory, choisissez le plus petit qui correspond à votre modèle . Je recommande d’ajouter du texte supplémentaire au nom du fichier que vous pouvez vérifier, par exemple
fichiers / DeleteTomorrow-2019-04-19.CSV
cela aidera à prévenir une erreur un an plus tard quand quelqu'un d'autre maintient le code.
Il y a beaucoup de variations possibles pour conserver plusieurs versions, demander quand quelque chose semble étrange, etc.