在 Windows 上,我怎么能打开一个显示所有驱动器号的 dired 缓冲区。当你这样做时,C-x d你应该总是提供一个目录,但我想从驱动器号级别而不是特定驱动器的根目录开始。
如果不存在标准解决方案,您是否有一个(对 dired 的扩展?)?或有关该主题的文章的链接?
在 dired 中,您只能查看目录,并且由于不存在包含您的驱动器号的目录,因此您看不到它们的列表。
为此,您必须为 dired 编写一个 emacs-lisp 扩展。
AFAIK 没有现有的扩展,但是,调用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以查找当前行上的驱动器号并执行根深蒂固。
如果您只想列出驱动器号...
(let (sh-output volumes)
(setq sh-output (shell-command-to-string "wmic LogicalDisk get Caption"))
)
会这样做。
Dired+有你想要的。
命令diredp-w32-drives
打开 Windows 驱动器的列表/菜单。使用RET或mouse-2在其中一个驱动器上打开 Dired。本地驱动器来自 option diredp-w32-local-drives
,您可以对其进行自定义。
如果您^在访问您的一个驱动器(例如)时点击 Dired C:\
,那么您将进入所有驱动器的相同列表/菜单。