有没有一个Windows命令行命令可以获取当前工作目录的完整路径?
另外,我怎样才能将这个路径存储在批处理文件中使用的变量中?
有没有一个Windows命令行命令可以获取当前工作目录的完整路径?
另外,我怎样才能将这个路径存储在批处理文件中使用的变量中?
如果您在直接使用shell,请使用无参数的cd
命令;如果您希望在批处理文件中使用它(它的行为类似于环境变量),请使用%cd%
。
您可以按照以下方式设置批处理/环境变量:
SET var=%cd%
ECHO %var%
Windows 7 x64的cmd.exe示例截图。
更新:如果你使用SET var = %cd%
而不是SET var=%cd%
,将会发生以下情况。感谢jeb。
SET var = %cd%
把值放在变量 var<space>
而不是 var
中。你应该避免在 SET 命令中使用空格。 - jebset
命令(set /?
):
如果启用了命令扩展,则存在多个可扩展但不显示在SET显示的变量列表中的动态环境变量。这些变量值会在每次扩展变量值时动态计算。如果用户显式定义了具有其中一个名称的变量,则该定义将覆盖下面描述的动态定义:注意
%CD% - 扩展为当前目录字符串。
%DATE% - 使用与DATE命令相同的格式扩展为当前日期。
%TIME% - 使用与TIME命令相同的格式扩展为当前时间。
%RANDOM% - 扩展为0到32767之间的随机十进制数。
%ERRORLEVEL% - 扩展为当前ERRORLEVEL值
%CMDEXTVERSION% - 扩展为当前命令处理程序扩展版本号。
%CMDCMDLINE% - 扩展为调用命令处理程序的原始命令行。
%CD% - 扩展为当前目录字符串。
部分。这对我一直有效:
SET CurrentDir="%~dp0"
ECHO The current file path this bat file is executing in is the following:
ECHO %CurrentDir%
Pause
对于Windows操作系统可以使用
cd
命令, 对于Linux则有
pwd
命令可用。
cd
命令会将当前路径返回到c:\users\[me]
,无论当前路径是什么。 - undefinedecho %cd% | clip
解释:
%cd%
命令会返回当前路径。
%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
可以在任何地方使用。
在Windows中:
CHDIR 显示或更改当前目录的名称。
在Linux中:
PWD 显示当前目录的名称。
对于Windows系统,只输入cd
命令将会显示当前工作目录。
对于类Unix系统,可以使用pwd
命令执行相同的任务。在某些shell下,您还可以使用$PWD
变量。我不确定Windows是否支持通过shell变量获取当前工作目录。
%cd%
。 - Stephan根据在chdir帖子评论中的跟进问题(将数据存储在变量中),我打赌他想要存储当前路径以便在更改目录后恢复它。
原始用户应查看"pushd",它可以更改目录并将当前目录推入可以使用"popd"还原的堆栈。在任何现代Windows cmd shell中制作批处理文件时都应该使用这种方法。
如果您真的需要获取当前路径,则现代cmd shell也有一个%CD%变量,您可以轻松地将其存储在另一个变量中以供参考。