在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