我从这篇文章中得到了一个有用的提示:https ://stackoverflow.com/a/374363/151453 ,但受到 doskey 特殊字符的困扰。
(环境:Windows 7 和 Windows XP)
使用 Visual C++ 命令行,我们有 env-varsINCLUDE
和LIB
. 所以有了这个 doskey 宏,
doskey whichinclude=for %i in ($1) do @echo.%~$INCLUDE:i
我们可以很容易地找出哪个 .h 在哪个 INCLUDE 目录中首先找到,非常方便。
但是,这个技巧失败了LIB
。我只是不能简单地编写一个宏,例如:
doskey whichlib=for %i in ($1) do @echo.%~$LIB:i
呼唤whichlib winsock32.lib
,它喷涌而出The system cannot find the file specified.
我启动 Procmon 以了解会发生什么,它显示:
所以我意识到$L
它有特殊含义doskey
,它在运行时被当前驱动器号替换。
试试 double Dollar( @echo.%~$$LIB:i
),还是不行,Procmon 报告 CMD 访问C:\echo
。
有人可以帮助我吗?
我的 doskey 书签:http: //www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/doskey.mspx? mfr=true