是否有可用于获取当前工作目录的完整路径的 Windows 命令行命令?
另外,如何将此路径存储在批处理文件中使用的变量中?
是否有可用于获取当前工作目录的完整路径的 Windows 命令行命令?
另外,如何将此路径存储在批处理文件中使用的变量中?
如果您直接使用cd
shell,或者%cd%
如果您想在批处理文件中使用它(它的行为类似于环境变量),则不带参数使用。
您可以按如下方式设置批处理/环境变量:
SET var=%cd%
ECHO %var%
来自 Windows 7 x64 cmd.exe 的示例屏幕截图。
更新:如果你做 aSET var = %cd%
而不是SET var=%cd%
,下面会发生什么。感谢杰布。
set
引用命令 ( )的 Windows 帮助set /?
:
如果启用了命令扩展,那么有几个动态的 可以扩展但不显示的环境变量 SET 显示的变量列表。这些变量值是 每次扩展变量的值时动态计算。 如果用户明确定义了具有这些名称之一的变量,则 该定义将覆盖下面描述的动态定义: %CD% - 扩展为当前目录字符串。 %DATE% - 使用与 DATE 命令相同的格式扩展到当前日期。 %TIME% - 使用与 TIME 命令相同的格式扩展到当前时间。 %RANDOM% - 扩展为 0 到 32767 之间的随机十进制数。 %ERRORLEVEL% - 扩展为当前的 ERRORLEVEL 值 %CMDEXTVERSION% - 扩展到当前的命令处理器扩展 版本号。 %CMDCMDLINE% - 展开到调用 命令处理器。
注意%CD% - expands to the current directory string.
部分。
在 Unix 上?
密码
这一直对我有用:
SET CurrentDir="%~dp0"
ECHO The current file path this bat file is executing in is the following:
ECHO %CurrentDir%
Pause
对于 Windows,我们可以使用
cd
对于 Linux
pwd
命令在那里。
在 Windows 上:
CHDIR 显示或更改当前目录的名称。
在 Linux 中:
PWD 显示当前目录的名称。
在下创建一个.bat
文件System32
,让我们将其命名copypath.bat
为复制当前路径的命令可以是:
echo %cd% | clip
说明:
%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,cd
它本身会显示当前的工作目录。
对于 UNIX 和类似工作的系统,pwd
将执行相同的任务。您还可以$PWD
在某些 shell 下使用 shell 变量。我不确定 Windows 是否支持通过 shell 变量获取当前工作目录。
基于对 chdir 帖子的评论中的后续问题(将数据存储在变量中),我打赌他想存储当前路径以在更改目录后恢复它。
原始用户应该查看“pushd”,它会更改目录并将当前目录推送到可以使用“popd”恢复的堆栈上。在任何现代 Windows cmd shell 上,这是制作批处理文件的方式。
如果您真的需要获取当前路径,那么现代 cmd shell 也有一个 %CD% 变量,您可以轻松地将其塞入另一个变量中以供参考。
在 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 的答案要容易得多。
作为可能的代码之一
echo off
for /f "usebackq tokens=* delims= " %%x in (`chdir`) do set var=%var% %%x
echo The current directory is: "%var:~1%"
在 Windows 上,键入cd
当前工作路径。
在 Linux 上,pwd
用于当前工作路径。