尝试从CLI的相对路径获取绝对文件路径

时间:2013-04-19 21:07:19

标签: windows batch-file

cd "C:\path\to\directory\" >nul & echo %CD%

说我在C:\dir中运行它。我希望它输出C:\path\to\directory,因为如果我单独并连续地运行每个命令,它就是这样做的。但它没有那样做。当两个命令被排序连接在一起时,它输出当前路径 - 例如。 C:\dir

任何想法为什么?或者,有关如何通过CLI从相对路径获取完整路径的任何想法?

1 个答案:

答案 0 :(得分:1)

如果连接两个命令,它们就像一个代码块,所有%变量%都不能改变它们的值。你必须使用延迟扩展:

@ECHO OFF & setlocal enabledelayedexpansion
cd "C:\path\to\directory\" >nul & echo !CD!

输出将是:

C:\path\to\directory