簡體   English   中英

如何將 function output 打印到新文件?

[英]How to print a function output to a new file?

我只是想將標記文件的文件名從 Dired 緩沖區導出到新的文本文件。

查看手冊,我找到了 function (dired-get-marked-files)

在 Dired 緩沖區中,在標記三個文件用於測試目的之后,評估:
(dired-get-marked-files 'verbatim nil nil nil t)
印刷:
("vid_1.mp4" "vid_2.mp4" "vid_3.mp4")

到目前為止一切順利,但我缺乏 elisp 知識讓我現在停了下來。 基本上我想在同一目錄中的新文本文件fileslist.txt中的每一行都有這三個文件名,如下所示:

file 'vid_1.mp4'
file 'vid_2.mp4'
file 'vid_3.mp4'

我嘗試了類似下面的方法並從 Dired 緩沖區調用它,但它不起作用。

(defun my/test-dired ()
  "fileslist.txt creation."
  (interactive)
  (with-temp-file "fileslist.txt" (dired-get-marked-files 'verbatim nil nil nil t)))

嘗試這個:

(defun write-marked-file-names-to-file ()
  "Write names of marked files to file `fileslist.txt'."
  (interactive)
  (unless (derived-mode-p 'dired-mode)
    (error "You must be in Dired or a mode derived from it to use this command"))
  (let ((files  (dired-get-marked-files 'verbatim nil nil nil t)))
    (with-temp-file "fileslist.txt"
      (dolist (file  files)
        (princ (concat "file '" file "'\n") (current-buffer))))))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM