Subst是DOS下的一个优秀的命令,对于Windows98,它的可执行文件Subst.exe在C:\Windows\Command文件夹下,
而Windows XP及以后版本应该在C:\Windows\System32文件夹下, 其正规的中文名称应该是“给目录赋驱动器符命令”。
它的功能是以磁盘驱动器符代替路径名称,以使驱动器符与指定的子目录路径等效。
其命令格式很简单:Subst?Drive1??Drive2??Path?, 其中“Drive1”是指定替代磁盘路径的虚拟的新驱动器符,“Drive2?Path”是指定所要替代的文件夹及其路径。
用户可以利用它将任意目录虚拟成一个磁盘驱动器, 如果用户需要删除虚拟的盘符,可以执行SubstDrive1?/D命令。
同时,并非所有的程序都可以正确使用Subst命令所生成的驱动器符,
比如Format、Sys、Fdisk等一些如今还常用的命令,这些命令必须使用真实的驱动器,
它们拒绝对Subst虚拟的驱动器进行操作。对于网络磁盘驱动器,Subst命令也是无能为力的。
用法格式
一、subst [盘符] [路径] 将指定的路径替代盘符,该路径将作为驱动器使用
二、subst /d 解除替代 [例子] C:\DOS>subst a: c:\temp? 用c盘temp目录替代a盘
C:\>subst a: /d? 解除替代 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”文件,加入以下代码:
@EchoOff 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
Linux中subst是字符串处理函数。
Makefile里的subst
用法是$(subst FROM,TO,TEXT),即将TEXT中的东西从FROM变为TO
Makefile中的字符串处理函数
格式: $(subst <from>;,<to>;,<text>;)
名称:字符串替换函数——subst。
功能:把字串<text>;中的<from>;字符串替换成<to>;。
返回:函数返回被替换过后的字符串。
示例: $(subst a,the,There is a big tree),
把“There is a big tree”中的“a”替换成“the”,返回结果是“There is the big tree”。