右键单击并使用以管理员身份运行时,%CD%变量行为会有所不同

Ped*_*tos 6 windows cmd batch-file

我有一个Windows cmd文件,它使用%CD%环境变量来确定cmd文件的执行目录.

当我从命令行运行cmd文件时,它正常工作,这意味着%CD%变量包含工作目录.如果我双击左键单击cmd它也可以正常工作.但是,如果我右键单击cmd文件并选择runas administrator,则%CD%变量包含值"C:\ Windows\system32"而不是cmd正在执行的curent目录.

我能够使用以下脚本重现该问题:

echo %CD%
pause
Run Code Online (Sandbox Code Playgroud)

ewa*_*all 12

尝试使用%~dp0而不是%cd%...这应该给你包含批处理(NT shell)脚本的目录,无论如何.