2015-06-01 133 views
2

以獨立於實現的方式移動Lisp中文件的最佳方式是什麼?例如,我有一個圖像文件:如何使用重命名文件在Lisp中移動文件

(setq oldpath #P"SERVER:PICTURES;TEMP;PHOTO.PNG") 

我想將其移出TEMP目錄進入PICTURES目錄。這似乎工作:

(setq newpath 
    (make-pathname 
    :host (pathname-host oldpath) 
    :directory (butlast (pathname-directory oldpath)) 
    :name (pathname-name oldpath) 
    :type (pathname-type oldpath))) 

(rename-file oldpath newpath) 

但有沒有更優雅的方式?

謝謝,大衛

回答

4

我通常使用:

(make-pathname :defaults old-path 
       :directory (butlast (pathname-directory oldpath))) 

:defaults參數可以確保舊路徑的所有相關部分被複制過來。

+0

謝謝!那正是我正在尋找的。 – johnsondavies