是否有Windows命令行命令,我可以使用它来获得当前工作目录的完整路径?

另外,如何将此路径存储在批处理文件中使用的变量中?


当前回答

在Windows命令提示符中,chdir或cd将打印控制台中当前工作目录的完整路径。

如果我们想复制路径,那么我们可以使用:cd | clip。

其他回答

@echo off
for /f "usebackq tokens=*" %%x in (`chdir`) do set var=%%x
echo The currenct directory is: %var%

当然,gmaran23的答案要简单得多。

根据chdir帖子评论中的后续问题(将数据存储在变量中),我打赌他想要存储当前路径,以便在更改目录后恢复它。

原始用户应该查看“pushd”,它会更改目录并将当前目录推到一个可以用“popd”恢复的堆栈上。在任何现代Windows cmd shell中,这是在制作批处理文件时的方法。

如果你真的需要获取当前路径,那么现代cmd shell也有一个%CD%变量,你可以很容易地把它放到另一个变量中供参考。

对于Windows,我们可以使用

cd

和Linux

pwd

命令就在那里。

批处理/环境变量的设置方法如下:

SET var=%cd%
ECHO %var%

Windows 7 x64 cmd.exe的截图示例。

更新:如果你做一个SET var=%cd%而不是SET var=%cd%,下面是发生的事情。多亏了杰布。

从批处理文件捕获当前目录

这对我来说一直都很有效:

SET CurrentDir="%~dp0"

ECHO The current file path this bat file is executing in is the following:

ECHO %CurrentDir%

Pause