如何在Windows上访问$ PWD变量?

时间:2013-06-21 15:38:31

标签: windows command-line batch-file

访问linux下当前目录的变量是$ PWD。如何在windows中访问与$ PWD相对应的变量?

这适用于具有unix背景的用户。所以看一下关于mklink这个windows链接实用程序的信息,我发现mklink的语法是

mklink "c:\where\link\is\to\be\created\file.txt"  "c:\where\file\actually\exists\file.txt"

但我想用

替换它
mklink $PWD "c:\where\file\actually\exists\file.txt"

但使用$ PWD会引发错误。我来自linux世界,其中$PWD引用了当前的工作目录。

正确的语法是什么,以便在执行脚本时在$PWD中创建链接?

编辑:我发现,答案是%cd%

2 个答案:

答案 0 :(得分:1)

好的,我自己找到了答案,它似乎有效:mklink“%cd%\ file.txt”“c:\ where \ file \ actual \ exists \ file.txt”

答案 1 :(得分:0)

mklink是CMD.EXE的子命令。它必须在CMD.EXE的“内部”运行。从Powershell你可以说:

cmd /c mklink  # without args mklink gives you help

在线帮助在这里:http://technet.microsoft.com/en-us/library/cc753194(v=ws.10).aspx。您可以选择文件软链接,目录软链接,硬链接和目录连接。

由于需要转义字符,有时从Powershell调用CMD子命令会很棘手。在PSv3中,这种情况通过魔术得到了改善 - %有关详细信息,请参阅此博客:http://blogs.msdn.com/b/powershell/archive/2012/06/14/new-v3-language-features.aspx。搜索“从Cmd.exe更轻松地重用命令行”