我想從我的.csv文件中提取所有數據並將其放在一個文件夾中。問題是每次我運行我的代碼,它會每次生成不同的文件夾,因為我使用這行代碼:
newDir = filepath||Substitute(MDYHMS(Today()), "/", "-", ":", ".");
問題是,如何每次生成新文件夾,但同時使用JMP腳本刪除以前創建的文件夾?每次運行我的腳本時,我不希望我的目錄完整的文件夾,因為我只需要最新的文件夾。以下是我的代碼的一部分。非常感謝!
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);
小心,在編寫這樣的代碼時,我設法刪除了至少一次錯誤的目錄。
使用filesInDirectory(...)和選項返回目錄名稱。確保使用適合排序的日期格式(例如,YYYYMMDD,但不是DDMMYYYY)。從FilesInDirectory中排序列表,選擇最小的列表符合你的模式 。我建議在您可以檢查的文件名中添加一些額外的文本,例如
文件/ DeleteTomorrow - 2019年4月19日。CSV
這將有助於防止一年後其他人維護代碼時出現錯誤。
保留多個版本可能有很多變化,提示什麼時候看起來很奇怪等等。