gpt4 book ai didi

windows - 有没有办法在 dired 中列出驱动器号?

转载 作者:可可西里 更新时间:2023-11-01 09:26:28 24 4
gpt4 key购买 nike

在 Windows 上,我如何打开一个显示所有驱动器号的 dired 缓冲区。当你执行 C-x d 时,你应该始终提供一个目录,但我想从驱动器号级别开始,而不是特定驱动器的根目录。

如果不存在标准解决方案,您是否有一个(对 dired 的扩展?)?或有关该主题的文章的链接?

最佳答案

在 dired 中您只能查看目录,并且由于不存在包含您的驱动器号的目录,因此您看不到它们的列表。

为此,您必须为 dired 编写一个 emacs-lisp 扩展。

据我所知,目前没有扩展名,但是,调用 wmic 可以为您提供驱动器号和卷名列表,这将是一个很好的起点。

wmic 命令:

wmic logicaldisk get caption,drivetype,providername,volumename

从 emacs-lisp 调用它并以字符串形式获取结果。

(let (sh-output volumes)
(setq sh-output (shell-command-to-string "wmic LogicalDisk get Caption,DriveType,ProviderName,VolumeName"))
)

将为您提供卷列表(DriveType:3 = HDD,4 = Network Mapping,5 = Optical。)

但是,您不会厌倦识别具有此输出的缓冲区,因此您需要创建一个用于浏览 Windows 卷的主要模式,它将显示此列表并将 RET 绑定(bind)到在当前行找到驱动器号并在它的根目录下执行 dired。

如果你只想列出盘符...

(let (sh-output volumes)
(setq sh-output (shell-command-to-string "wmic LogicalDisk get Caption"))
)

会那样做。

关于windows - 有没有办法在 dired 中列出驱动器号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3652631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com