如何使用elisp的反斜杠获取Windows路径

luo*_*bin 6 emacs elisp

我正在使用emacs在Windows上尝试一些东西.在我的情况下,我需要从elisp返回反斜杠的文件路径.但是elisp总是以斜线等方式返回路径.

(expand-file-name "text.log" "d:\\ProgramData\\temp")
=> d:/ProgramData/temp/text.log
Run Code Online (Sandbox Code Playgroud)

我的要求:

(expand-file-name "text.log" "d:\\ProgramData\\temp")
=> d:\ProgramData\temp\text.log
Run Code Online (Sandbox Code Playgroud)

它可以用regexp完成,但我需要更简单的方法.

Own*_*loo 8

是否convert-standard-filename(elisp) Standard File Names适合你的需要?


Ste*_*fan 5

当然(subst-char-in-string ?/ ?\\ <file>)应该做的伎俩.但请注意,斜杠在Windows中几乎无处不在(我知道唯一不支持它们的工具是默认的"shell"(command.com,cmd.exe,或者其他一些名称))所以也许你甚至都没有需要这种转换.