假设我正在使用批处理文件,并希望它指向与批处理在同一目录中的文件夹。如果我没错的话,你应该写“%~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
,以保存批处理文件。只要位于path
上的,bat
文件就可以被找到。%dp0
将产生.bat
的位置。"