我需要创建一个批处理文件来检测它所在的驱动器和目录。当我正常运行该文件时,它已经在正确的目录/驱动器中。但是当它以管理员身份运行时,它将在system32中启动。是否有命令进入目录或驱动批次来自?
答案 0 :(得分:4)
您可以使用
Pushd "%~dp0"
这会将当前目录更改为批处理文件的路径 引用该参数可以安全地防止路径名中的特殊字符,如“C:\ Documents& Settings”
答案 1 :(得分:0)
一个解决方法是在路径前使用\
来提供绝对路径。
因此,如果您需要运行文件c:\temp\xyz.exe
,即使您在c:\winodws\system32
目录中仍然执行cd \temp\xyz.exe
仍然文件将正常运行