Rename File() 和 Copy File() 皆回傳 0你好,
我需要將一個小型資料表儲存為 csv,但使用備用檔案副檔名(*.blkl 而不是 *.csv)。據我所知,「另存為」()函數似乎不允許這樣的規定,因此我沒有用我想要的文件名稱保存文件,而是將其保存為*.blkl.csv,然後嘗試直接將該文件重命名為所需的名稱或執行複製+刪除序列以獲取所需的輸出文件。
我的腳本會很樂意保存文件,但是 Rename File() 和 Copy File() 函數都傳回 0,表示操作失敗,並且沒有提供其他資訊。我該如何調試失敗的文件操作?
JMP 14.3.0(64 位元)
Windows 11 企業版(64 位元)
先致謝!
視窗回覆:重新命名檔案()和複製檔案()都回傳 0你打算怎樣做?對我來說這很好用(使用 JMP18)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Save("$TEMP/bigclass.csv");
Show(File Exists("$TEMP/bigclass.csv"), File Exists("$TEMP/bigclass.blkl"));
Rename File("$TEMP/bigclass.csv", "bigclass.blkl");
Show(File Exists("$TEMP/bigclass.csv"), File Exists("$TEMP/bigclass.blkl"));
回覆:重新命名檔案()和複製檔案()都回傳 0我驗證了 Jarmo 的程式碼在 JMP 14 中有效
回覆:重新命名檔案()和複製檔案()都回傳 0我發現了這個問題。如果檔案存在,Rename File() 和 Copy File() 都會失敗,因此它們不適合獨立執行覆蓋操作。我新增了刪除預檢查,現在一切運行順利。
供將來參考,jsl 庫函數是否在任何地方報告此類調試信息,還是僅僅是通過/失敗狀態?
回覆:重新命名檔案()和複製檔案()都回傳 0某些功能可能會為您提供更多回饋。例如如果你嘗試覆蓋已經開啟的資料表
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Save("$TEMP/bigclass_test.jmp");
dt1 = Open("$SAMPLE_DATA/Big Class Families.jmp");
dt1 << Save("$TEMP/bigclass_test.jmp");

然後你就可以記錄下來
This file could not be saved with the given name.
Unable to save file.