关于使用subst

时间:2016-07-19 06:41:24

标签: windows batch-file

使用subst命令在Windows中创建虚拟驱动器的意义是什么。 我正在创建虚拟驱动器到我原来的源代码目录,然后使用虚拟驱动器进行编译,编辑等所有事情。

主要用途是什么?我们不能处理我已经签出源代码的原始目录吗?

1 个答案:

答案 0 :(得分:2)

(收集到目前为止社区答案的所有评论,因为它们都很好并且达到了重点并且共同构建了一个很好的答案。随意添加更多信息。 - Stephan

这取决于。例如,您的工具链可能对路径有限制 - 不支持长文件名(MS DOS时间)或不支持路径,长度超过260个符号(Windows 95的时间)。通常对于现代工具,不需要 - vitalygolub

当多个开发人员处理项目并且开发人员在项目目录上方没有所有相同的目录结构时,将项目的父目录替换为驱动器通常是有意义的。然后,所有开发人员都可以使用绝对路径处理项目,尽管项目存储在开发人员的计算机上的不同目录中。 - Mofi

在某些条件下,Visual C / C ++等编译器甚至可以在绝对源路径下编译发行版。我在许多User\user name\...User/user name/...文件中看到过很多*.exe*.dll。有时在可执行文件或库中查看开发人员的用户帐户名称非常有趣。替换为驱动器的目录的使用有助于避免使用户帐户名无意中公开,例如项目未存储在%USERPROFILE%的子目录中。 - Mofi

另一个原因通常是使用文件中的绝对路径进行调试。相对路径有时会出现问题,因为调试器需要知道路径相对于哪个目录。由于将项目目录用作虚拟驱动器,因此在文件中使用(较短的)绝对路径可避免在调试时由相对于错误目录的路径引起的问题。 - Mofi

MSdos 1没有做目录。 Subst允许Dos 1程序在Dos 2及更高版本上工作(通过假装一个目录是一个驱动器)。人们发现它很有用,所以这个功能很有用。 - Noodles