如何使用重命名文件在 Lisp 中移动文件
How to move a file in Lisp using rename-file
在 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)
但是有没有更优雅的方式呢?
谢谢,大卫
我通常使用:
(make-pathname :defaults old-path
:directory (butlast (pathname-directory oldpath)))
:defaults
参数确保复制旧路径名的所有相关部分。
在 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)
但是有没有更优雅的方式呢?
谢谢,大卫
我通常使用:
(make-pathname :defaults old-path
:directory (butlast (pathname-directory oldpath)))
:defaults
参数确保复制旧路径名的所有相关部分。