(shell-command "\"C:\\Documents and Settings\\ggustafson\\Desktop\\stuff\\ctags58\\ctags.exe\" -eR -f \"C:\\Documents and Settings\\ggustafson\\Desktop\\BlueTooth_7020\\TAGS\" \"C:\\Documents and Settings\\ggustafson\\Desktop\\BlueTooth_7020\"")
(message "\"C:\\Documents and Settings\\ggustafson\\Desktop\\stuff\\ctags58\\ctags.exe\" -eR -f \"C:\\Documents and Settings\\ggustafson\\Desktop\\BlueTooth_7020\\TAGS\" \"C:\\Documents and Settings\\ggustafson\\Desktop\\BlueTooth_7020\"")
위로 가기 양식을 실행하면 'C:\Documents' is not recognized as an internal or external command, operable program or batch file.
오류가 발생합니다. 출력을 실행하면 *Messages*
버퍼에 삽입 된 두 번째 형식이 의도 한대로 작동합니다 (태그 파일 생성).elisp에서 문자열을 쉘 명령으로 실행할 수 없습니다.
왜 두 기술 모두에서 동일한 결과가 나타나지 않습니까? shell-command
쉘에 보내기 전에 문자열을 변경하는 작업을 수행합니까? elisp을 사용하여 정확하게 명령 프롬프트에 붙여 넣은 것처럼 문자열을 실행할 수 있습니까?
shell-quote-argument
작동하지 않습니다 중 하나는 방법 중 하나를 사용하여 실행 할 수없는 문자열을 생산하고 같이
(message (shell-quote-argument "\"C:\\Documents and Settings\\ggustafson\\Desktop\\stuff\\ctags58\\ctags.exe\" -eR -f \"C:\\Documents and Settings\\ggustafson\\Desktop\\BlueTooth_7020\\TAGS\" \"C:\\Documents and Settings\\ggustafson\\Desktop\\BlueTooth_7020\""))
"^\"\\^\"C:\\Documents and Settings\\ggustafson\\Desktop\\stuff\\ctags58\\ctags.exe\\^\" -eR -f \\^\"C:\\Documents and Settings\\ggustafson\\Desktop\\BlueTooth_7020\\TAGS\\^\" \\^\"C:\\Documents and Settings\\ggustafson\\Desktop\\BlueTooth_7020\\^\"^\""
다른 버전의'ctags.exe '를 사용할 수도 있습니다. 전체 경로로 시도해 볼 수 있습니까? – slitvinov
'C-h f shell-quote-argument'를 찾으십시오. – phils
@slitvinov 전체 경로를 사용하고 있었으므로 AFAIK는 이맥스가 아닌 ctags의 문제입니다. 그것을 명확히하기 위해 편집 된 질문. –