在windows上,我怎么打开显示所有驱动器号的dired缓冲区。当你做C-xd你应该总是提供一个目录,但我想从驱动器字母级开始,而不是特定驱动器的根目录。有没有办法在dired中列出驱动器号?
如果没有标准解决方案存在,你有一个(扩展到dired?)?或链接到有关这个问题的文章?
在windows上,我怎么打开显示所有驱动器号的dired缓冲区。当你做C-xd你应该总是提供一个目录,但我想从驱动器字母级开始,而不是特定驱动器的根目录。有没有办法在dired中列出驱动器号?
如果没有标准解决方案存在,你有一个(扩展到dired?)?或链接到有关这个问题的文章?
在dired中,您只能查看目录,并且由于没有包含驱动器号的目录,因此无法看到它们的列表。
要做到这一点,你必须为dired编写一个emacs-lisp扩展。
AFAIK有没有现有的扩展,然而,WMIC一个电话可以给你的驱动器号和卷名,这将是一个很好的起点上的列表。
的WMIC命令:
wmic logicaldisk get caption,drivetype,providername,volumename
从emacs的,口齿不清调用它,得到的结果作为一个字符串。
(let (sh-output volumes)
(setq sh-output (shell-command-to-string "wmic LogicalDisk get Caption,DriveType,ProviderName,VolumeName"))
)
会给你卷的列表(的DriveType:3 =硬盘,4 =网络映射,5 =光)
但是,你不能让dired承认的缓冲与此输出,因此您需要创建一个浏览Windows卷的主要模式,这将显示此列表并绑定RET以在当前行中查找驱动器号并执行其根目录。
如果你只是想列出的驱动器号...
(let (sh-output volumes)
(setq sh-output (shell-command-to-string "wmic LogicalDisk get Caption"))
)
将这样做。
Dired +有你想要的。
命令diredp-w32-drives
打开Windows驱动器的列表/菜单。使用RET或鼠标-2在其中一个驱动器上打开Dired。本地驱动器来自选项diredp-w32-local-drives
,您可以自定义。
如果您在访问其中一个驱动器(例如C:\
)时在Dired中点击^,那么您会看到所有驱动器的相同列表/菜单。
我已编辑我的问题,要求对此问题的任何现有解决方案或有关该主题的文章的链接。 – 2010-09-07 11:36:49
@Jerome,请尝试wmic获取驱动器所需的文本输出。 – ocodo 2010-09-07 12:36:38
Thx为wmic命令,我会尝试编码,如果我有时间的话...... – 2010-09-07 15:22:24