繁体   English   中英

“%〜dp0”和“。\\”之间的区别?

[英]Difference between “%~dp0” and “.\”?

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

pushd %~dp0

通常用于更改到启动批处理的原始目录。 当用户可以“以管理员身份运行”(为您更改当前目录)时,这在较新的操作系统中非常有用! 尝试一下。 做一个简单的蝙蝠

@echo off
echo.CD=%CD%
pushd %~dp0
echo.CD=%CD%
pause

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

".\\将相对于CURRENT目录定位,因此,如果使用CD命令更改了目录,则将查找THAT目录,而不是批处理所在的目录。

实际上,创建一个单独的目录(通常称为\\batch\\belfry以保留批处理文件是正常的。 如果有问题的,bat位于path ,它将定位。 %dp0将产生.bat的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM