Quelle est la manière la plus simple d'ouvrir le dossier contenant le fichier actuel par l'explorateur par défaut du système d'exploitation (par exemple explorer.exe dans le cas du système d'exploitation Windows)?
Quelle est la manière la plus simple d'ouvrir le dossier contenant le fichier actuel par l'explorateur par défaut du système d'exploitation (par exemple explorer.exe dans le cas du système d'exploitation Windows)?
Réponses:
L'utilisation browse-url-of-file
devrait fonctionner avec un répertoire.
Vous pouvez implémenter une commande qui ouvre le répertoire du fichier actuel comme ceci:
(defun browse-file-directory ()
"Open the current file's directory however the OS would."
(interactive)
(if default-directory
(browse-url-of-file (expand-file-name default-directory))
(error "No `default-directory' to open")))
Ensuite M-x browse-file-directory, ouvrez le répertoire dans le navigateur de fichiers de votre système d'exploitation.
Pour MS Windows:
Charger la bibliothèque w32-browser.el
et utiliser la commande w32explore
. Il fait exactement ce que vous demandez. Voir MS Shell Execute .
Si vous utilisez également Dired + puis M-RET
sur un fichier ou répertoire nom dans Dired ouvre l' Explorateur Windows pour elle.
copiez d'abord le chemin complet vers le presse-papiers:
;; you need install xsel under Linux
;; xclip has some problem when copying under Linux
(defun copy-yank-str (msg &optional clipboard-only)
(unless clipboard-only (kill-new msg))
(cond
;; display-graphic-p need windows 23.3.1
((and (display-graphic-p) x-select-enable-clipboard)
(x-set-selection 'CLIPBOARD msg))
(t (with-temp-buffer
(insert msg)
(shell-command-on-region (point-min) (point-max)
(cond
((eq system-type 'cygwin) "putclip")
((eq system-type 'darwin) "pbcopy")
(t "xsel -ib")))))))
(defun cp-fullpath-of-current-buffer ()
"copy full path into the yank ring and OS clipboard"
(interactive)
(when buffer-file-name
(copy-yank-str (file-truename buffer-file-name))
(message "file full path => clipboard & yank ring")))