如何将Dired标记文件的函数输出写入新文件?
解决Dired导出标记文件为指定格式文本文件的问题
你的函数问题在于with-temp-file需要向临时缓冲区写入内容才能生成文件,但dired-get-marked-files仅返回文件名列表,不会自动写入。修正后的函数会遍历列表,生成file '文件名'格式的内容并写入文件:
(defun my/test-dired () "创建包含标记文件列表的fileslist.txt,每行格式为file '文件名'." (interactive) (let ((marked-files (dired-get-marked-files 'verbatim nil nil nil t))) (with-temp-file "fileslist.txt" (dolist (file marked-files) (insert (format "file '%s'\n" file))))))
关键说明:
- 用
let将标记文件列表绑定到marked-files变量,方便后续遍历 dolist循环遍历每个文件名,通过format生成符合要求的字符串格式insert将格式化后的内容写入临时缓冲区,with-temp-file会自动将缓冲区内容保存到fileslist.txt
内容的提问来源于stack exchange,提问作者Balto
相关产品推荐
相关产品推荐

