Windows shell命令获取当前目录的全路径?

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

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

723595 次浏览

如果您直接使用shell,则使用不带参数的cd,如果您想在批处理文件中使用%cd%(它的行为类似于环境变量)。

在Unix ?

松材线虫病

对于Windows, cd本身将显示当前工作目录。

对于UNIX和类似工作的系统,pwd将执行相同的任务。你也可以在一些外壳下使用$PWD外壳变量。我不确定Windows是否支持通过shell变量获取当前工作目录。

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

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

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

引用Windows帮助中的set命令(set /?):

If Command Extensions are enabled, then there are several dynamic
environment variables that can be expanded but which don't show up in
the list of variables displayed by SET.  These variable values are
computed dynamically each time the value of the variable is expanded.
If the user explicitly defines a variable with one of these names, then
that definition will override the dynamic one described below:


%CD% - expands to the current directory string.


%DATE% - expands to current date using same format as DATE command.


%TIME% - expands to current time using same format as TIME command.


%RANDOM% - expands to a random decimal number between 0 and 32767.


%ERRORLEVEL% - expands to the current ERRORLEVEL value


%CMDEXTVERSION% - expands to the current Command Processor Extensions
version number.


%CMDCMDLINE% - expands to the original command line that invoked the
Command Processor.

注意%CD% - expands to the current directory string.部分。

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

SET CurrentDir="%~dp0"


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


ECHO %CurrentDir%


Pause

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

SET var=%cd%
ECHO %var%

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

enter image description here

如果你执行SET var = %cd%而不是SET var=%cd%,则会发生以下情况。多亏了杰布。

enter image description here

从批处理文件中抓取当前目录

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

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

对于Windows,我们可以使用

cd

和Linux

pwd

命令就在那里。

Windows上的< em >: < / em >

是指显示当前目录的名称或更改当前目录。

在Linux中< em >: < / em >

松材线虫病显示当前目录的名称。

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

如果要复制路径,则可以使用:cd | clip

在Windows上,输入cd作为工作当前路径。

在Linux上,pwd为当前工作路径。

System32下创建一个.bat文件,我们将其命名为copypath.bat,用于复制当前路径可能是:

echo %cd% | clip
< p > 解释:

%cd%将给出当前路径

CLIP


Description:
Redirects output of command line tools to the Windows clipboard.
This text output can then be pasted into other programs.


Parameter List:
/?                  Displays this help message.


Examples:
DIR | CLIP          Places a copy of the current directory
listing into the Windows clipboard.


CLIP < README.TXT   Places a copy of the text from readme.txt
on to the Windows clipboard.

现在copypath可以从任何地方使用。

作为可能的密码之一

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