1. 程式人生 > >windows中的subst與虛擬驅動器(碟符)

windows中的subst與虛擬驅動器(碟符)

subset

將路徑與驅動器號關聯。也就是把一個目錄當作一個磁碟驅動器。

       語法如下:

SUBST [drive1: [drive2:]path]
SUBST drive1: /D
引數 描述
drive1: 指定要分配路徑的虛擬驅動器。
[drive2:]path 指定物理驅動器和要分配給虛擬驅動器的路徑。
/D 刪除被替換的(虛擬)驅動器。
不帶引數的SUBST 顯示當前虛擬驅動器的列表。

示例

       下面來看個例子,加深印象。
       例:將目錄D:\project\cpp對映為Z盤。

subst /D Z:                           rem 先解除之前的對映
subst Z: D:\project\cpp

       執行這個批處理指令碼後,驅動器列表中就會出現一個碟符為Z的驅動器。
       也可以同時指定多個目錄與多個虛擬驅動器關聯。這麼做無非是將目錄與某個碟符關聯起來,有什麼用呢?
       我們已經知道,subst的功能,就是將某目錄與驅動器關聯。這樣,對某個驅動器的訪問,就等同於對相應目錄的訪問。對於一個開發團隊開說,每個成員的工作目錄可能並不相同,這就可能給工作交流造成一些影響,比如,成員A的工作目錄在D盤,成員B的工作目錄在G盤,那麼將A的專案交給B時,B可能就需要做一些配置,才能讓A的專案工作起來。如果他們將各自的工作目錄都對映為相同的虛擬驅動器,比如Z盤,將所有工作都針對Z盤來做,每個成員都使用相同的配置,交流起來更為方便。即將虛擬的驅動器作為一箇中間層,通過它遮蔽了底層實際目錄的差異。
       可能會有人說了,既然是讓所有人使用相同的配置,那麼在剛開始就強制要求大家使用一致的工作目錄不就好了。這樣做無可厚非,但是忽略了一些細節,比如以下兩條:

  1. 可能有的電腦上缺少某個碟符,而這個恰好又是被要求作為工作目錄所在的碟符。
    對於這種情況,重新分割槽或新增新硬碟,或更改原驅動器的碟符,都不如直接對映一個虛擬驅動器來的方便。
    重新分割槽,操作相對麻煩,還有造成資料丟失的風險;新增新硬碟,則增加了公司成本;更改原驅動器碟符,則針對的是整個原驅動器。使用subst,只需要將某一目錄對映成驅動器即可,且可隨時修改與解除對映,方便而靈活。
  2. 專案開始前並沒有規劃好這方面的工作。隨著專案的進行,問題逐漸暴露出來,這時再要求大家進行修改,工作量相對較大,且專案成員可能會有情緒。而使用subst,只需要幾條命令組成的批處理,就可以解決大部分問題。