Windows shell 命令获取当前目录的完整路径?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/607670/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Windows shell command to get the full path to the current directory?
提问by user62958
Is there a Windows command line command that I can use to get the full path to the current working directory?
是否有 Windows 命令行命令可用于获取当前工作目录的完整路径?
Also, how can I store this path inside a variable used in a batch file?
另外,如何将此路径存储在批处理文件中使用的变量中?
回答by Trevor Bramble
Use cd
with no arguments if you're using the shell directly, or %cd%
if you want to use it in a batch file (it behaves like an environment variable).
cd
如果您直接使用 shell,或者%cd%
您想在批处理文件中使用它(它的行为类似于环境变量),请不带参数使用。
回答by gmaran23
You can set a batch/environment variable as follows:
您可以按如下方式设置批处理/环境变量:
SET var=%cd%
ECHO %var%
sample screenshot from a Windows 7 x64 cmd.exe.
来自 Windows 7 x64 cmd.exe 的示例屏幕截图。
Update:if you do a SET var = %cd%
instead of SET var=%cd%
, below is what happens. Thanks to jeb.
更新:如果你做一个SET var = %cd%
而不是SET var=%cd%
,下面是会发生什么。感谢杰布。
回答by Patrick Cuff
Quote the Windows help for the set
command (set /?
):
引用set
命令 ( set /?
)的 Windows 帮助:
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.
Note the %CD% - expands to the current directory string.
part.
注意%CD% - expands to the current directory string.
部分。
回答by Stephen Curial
On Unix?
在 Unix 上?
pwd
密码
回答by Nikunj K.
For Windows we can use
对于 Windows,我们可以使用
cd
cd
and for Linux
对于 Linux
pwd
pwd
command is there.
命令在那里。
回答by Fred Scales
This has always worked for me:
这一直对我有用:
SET CurrentDir="%~dp0"
ECHO The current file path this bat file is executing in is the following:
ECHO %CurrentDir%
Pause
回答by Michael Trausch
For Windows, cd
by itself will show you the current working directory.
对于 Windows,cd
它本身会显示当前的工作目录。
For UNIX and workalike systems, pwd
will perform the same task. You can also use the $PWD
shell variable under some shells. I am not sure if Windows supports getting the current working directory via a shell variable or not.
对于 UNIX 和类似工作的系统,pwd
将执行相同的任务。您也可以$PWD
在某些 shell 下使用shell 变量。我不确定 Windows 是否支持通过 shell 变量获取当前工作目录。
回答by Ajay Jayavarapu
On Windows:
在 Windows 上:
CHDIRDisplays the name of or changes the current directory.
CHDIR显示当前目录的名称或更改当前目录。
In Linux:
在 Linux 中:
PWDDisplays the name of current directory.
PWD显示当前目录的名称。
回答by Vishrant
Create a .bat
file under System32
, let us name it copypath.bat
the command to copy current path could be:
.bat
在 下创建一个文件System32
,让我们将其命名copypath.bat
为复制当前路径的命令可以是:
echo %cd% | clip
Explanation:%cd%
will give you current path
说明:%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.
Now copyclip
is available from everywhere.
现在copyclip
可以从任何地方获得。
回答by Mark
Based on the follow up question (store the data in a variable) in the comments to the chdir post I'm betting he wants to store the current path to restore it after changeing directories.
根据 chdir 帖子的评论中的后续问题(将数据存储在变量中),我敢打赌他想存储当前路径以在更改目录后恢复它。
The original user should look at "pushd", which changes directory and pushes the current one onto a stack that can be restored with a "popd". On any modern Windows cmd shell that is the way to go when making batch files.
原始用户应该查看“pushd”,它更改目录并将当前目录推送到可以用“popd”恢复的堆栈上。在任何现代 Windows cmd shell 上,这是制作批处理文件时要走的路。
If you really need to grab the current path then modern cmd shells also have a %CD% variable that you can easily stuff away in another variable for reference.
如果您确实需要获取当前路径,那么现代 cmd shell 也有一个 %CD% 变量,您可以轻松地将其塞入另一个变量中以供参考。