我有一个批处理文件,看起来像这样:
set OWNPATH = %~dp0
for /r %OWNPATH% %%F in (*.ocx) do ( echo %%F )
当我启动它时,它正确地列出了同一文件夹中的所有OCX文件,但列出了
中的OCX文件C: Windows System32系统
当我右键单击它并选择"以管理员身份运行"时。
我怎样才能解决这个问题?脚本一般需要管理员权限
您的set
正在设置%OWNPATH %
(注意OWNPATH
和=
之间的空格)。因此,没有定义%OWNPATH%
(没有空格),for /r %OWNPATH% %%F ...
扩展为for /r %%F
, for
循环最终查找当前目录(以管理员身份运行时为C:WindowsSystem32)。
养成这样做作业的习惯,以避免常见的错误:
set "OWNPATH=%~dp0"