subst
subst
subst,DOS命令,用於路徑替換,將路徑與驅動器號關聯,就是把一個目錄當作一個磁碟驅動器來看,不過不能格式化。運用一定技巧,subst命令還可以實現隱藏驅動器、特殊軟體的安裝、模擬光碟自動運行等功能。另外,Linux中有同名命令,用於函數返回被替換過後的字元串。
Subst是DOS下的一個優秀的命令,對於Windows98,它的可執行文件Subst.exe在C:\Windows\Command文件夾下,而Windows XP及以後版本應該在C:\Windows\System32文件夾下,其正規的中文名稱應該是“給目錄賦驅動器符命令”。
它的功能是以磁碟驅動器符代替路徑名稱,以使驅動器符與指定的子目錄路徑等效。
其命令格式很簡單:Subst [Drive1: [Drive2:]Path],
其中“Drive1”是指定替代磁碟路徑的虛擬的新驅動器符,
“Drive2:Path”是指定所要替代的文件夾及其路徑。
用戶可以利用它將任意目錄虛擬成一個磁碟驅動器,
如果用戶需要刪除虛擬的盤符,可以執行Subst Drive1: /D命令。
同時,並非所有的程序都可以正確使用Subst命令所生成的驅動器符,
它們拒絕對Subst虛擬的驅動器進行操作。對於網路磁碟驅動器,Subst命令也是無能為力的。
一、subst [盤符] [路徑] 將指定的路徑替代盤符,該路徑將作為驅動器使用。
二、subst /d 解除替代
[例子] C:\DOS>subst a: c:\temp 用盤符a:替代c盤下temp目錄
C:\>subst a: /d 解除替代 取消路徑替代a:
SUBST [drive1: [drive2:]path]
SUBST drive1: /D
drive1: 指定要指派路徑的虛擬驅動器。
[drive2:]path 指定物理驅動器和要指派給虛擬驅動器的路徑。
/D 刪除被替換的 (虛擬) 驅動器。
不加任何參數鍵入 SUBST,可以顯示當前虛擬驅動器的清單。
初步了解了Subst命令的用途及用法,不妨再看看它的一些高級使用技巧:
1.隱藏驅動器。Subst的看家本領是虛擬磁碟驅動器符,雖然微軟建議用戶採用沒有使用的盤符進行虛擬,但並不表示它不能虛擬已經存在的盤符,比如A盤、C盤等。於是用戶可以通過Subst命令虛擬A、C等盤符,直接覆蓋這些已經存在的盤符,使他人無法看到該盤的真正內容,以達到隱藏真實驅動器的目的。例如,用戶先在D盤根目錄下創建一個名為“Aaa”的文件夾,最好將文件夾的屬性設置為“只讀”和“隱藏”。然後在C盤根目錄下打開“Autoexec.bat”文件,加入以下代碼:
@echo off
C:\Windows\System32\Subst A: D:\Aaa
(註:在Windows XP中Subst是在System32目錄下,其他的系統可能有所不同)這樣每次在系統啟動后軟盤的圖標就變為硬碟的樣子,其中的內容也變了,從而實現偷梁換柱的目的。需要還原的時候,只需在MS-DOS(命令提示符)方式下,運行“Subst A: /D”就行了。
2.特殊軟體的安裝。有少數軟體在安裝時會提示需要從A盤中提取安裝信息,這時難道只有將文件拷貝到軟盤后再安裝嗎?完全沒有這個必要,Subst命令可以“欺騙”這些需要用軟盤安裝的軟體。用戶把軟盤中的文件全部拷貝到硬碟上的任意文件夾中,再將該文件夾用Subst命令虛擬成A盤后,即可順利安裝。
3.模擬光碟自動運行。目前大部分多媒體光碟都帶有一個自動運行命令,方便了用戶的使用。然而若將光碟上的所有內容全盤拷貝到硬碟上就不能正常運行。這時,用戶可以將放置光碟內容的文件夾虛擬成光碟驅動器(Subst F: D:\guangpan,假設F為光碟機),則軟體能正常運行。
Linux中subst是字元串處理函數。
Makefile里的subst
用法是$(subst FROM,TO,TEXT),即將TEXT中的東西從FROM變為TO
Makefile中的字元串處理函數
格式:
$(subst ;,;,;)
名稱:字元串替換函數——subst。
功能:把字串;中的;字元串替換成;。
返回:函數返回被替換過後的字元串。
示例:
$(subst a,the,There is a big tree),
把“There is a big tree”中的“a”替換成“the”,返回結果是“There is the big tree”。