Ich probiere einige Dinge auf Windows mit Emacs aus. In meinem Fall muss ich den Dateipfad mit Backslash von elisp zurückgeben. Aber elisp gibt den Pfad immer mit Schrägstrich zurück.Wie bekomme ich Windows-Pfad mit Backslash von elisp
(expand-file-name "text.log" "d:\\ProgramData\\temp")
=> d:/ProgramData/temp/text.log
Meine Forderung:
(expand-file-name "text.log" "d:\\ProgramData\\temp")
=> d:\ProgramData\temp\text.log
Es kann mit regexp getan werden, aber ich brauche mehr einfache Art und Weise.
Beachten Sie, dass dies nicht die beabsichtigte Verwendung von 'convert-standard-filename' ist, daher kann es in einigen Fällen fehlschlagen (z. B. einen Namen zurückgeben, der nicht auf dieselbe Datei verweist). – Stefan
@Stefan: Einverstanden. Aber ich verstehe auch den Zweck von Luozengbin nicht, weil Emacs und einige Werkzeuge in Windows auch mit Schrägstrich umgehen können. Auf solchen Systemen gibt 'converter-standard-filename' einen anderen Dateinamen zurück, der ursprüngliche Dateiname ist ungültig. Wenn Luozengbin diesen Namen an andere Tools weitergeben möchte, kann das Umbenennen das richtige Verhalten sein. – OwnWaterloo
Hallo. Danke für deine Hilfe. Ich möchte den Dateinamen an andere Tools übergeben, aber die Tools unterstützt nicht posix path.so ich muss es konvertieren. – luozengbin