2011-08-10 4 views

답변

2

원하는 기능은 read-file-name입니다. C-h f을 입력하고 read-file-name을 입력하여 설명서를 읽으십시오.

(defun foo() 
    (interactive) 
    (setq file (read-file-name "File: ")) 
    (message "You chose: %s" file)) 
+0

감사합니다. 그것은 내가 필요한 것입니다. – Geo

+0

아니요, 당신은 @ scottfrazer의 대답을 원합니다. M-x describe-function interactive가 불가능하기 때문에 Emacs에서 Emacs를 다시 구현하지 마십시오. – jrockway

3

다음 코드는 (파일이 존재 여부 어디에 시나리오를 처리하는 코드 오류 sexps 교체)이 작업을 수행 할 수있는 방법을 보여줍니다 : 여기

파일 이름을 읽고 몇 가지 예제 코드입니다

기존 파일 이름을 f를 사용하거나 경우에해야 대화 형으로
(defun do-stuff-with-file (filename) 
    "Do stuff with a file." 
    (interactive (list (read-file-name "Do stuff with file: "))) 
    (when (file-exists-p filename) 
    (error "%s already exists" filename)) 
    (when (not (file-exists-p filename)) 
    (error "%s doesn't exist" filename))) 
6

, 가능성이 존재 하나 F :

(defun foo (filename) 
    (interactive "F") 
    (if (file-exists-p filename) 
    ... 
+4

주목할만한 가치가 있습니다; 프롬프트가 필요하다면 대화식 형식 문자열에 바로 붙이십시오 :'(interactive "FFile :")' – jrockway

관련 문제