假设我正在使用一个批处理文件,并希望它直接定向到位于该批处理的同一目录中的文件夹。如果我没看错,您可以输入“%〜dp0\whateverfoldername”。但是仅写“。\whateverfoldername”就不能做到吗?如果是这样,相应命令的区别和/或优势是什么?

最佳答案

pushd %~dp0

通常用于更改到开始该批处理的原始目录。
当用户可以“以管理员身份运行”(为您更改当前目录)时,这在较新的操作系统中非常有用!尝试一下。做一个简单的 bat
@echo off
echo.CD=%CD%
pushd %~dp0
echo.CD=%CD%
pause

现在运行它。
现在,在Vista,Win 7,Win 8、2008 Server或2012 Server上以“管理员身份”再次运行。
走着瞧吧?

关于windows - "%~dp0"和 ".\"之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15890856/

10-11 15:25