我有一个批处理文件,如下所示:
set OWNPATH = %~dp0
for /r %OWNPATH% %%F in (*.ocx) do ( echo %%F )
当我启动它时,它正确地列出了同一文件夹中的所有OCX文件,但是列出了
中的OCX文件C:\ Windows \ System32下
当我右键单击它并选择“以管理员身份运行”时。
我该如何解决?该脚本通常需要管理员权限。
答案 0 :(得分:3)
您的set
设置了%OWNPATH %
(请注意OWNPATH
和=
之间的空格)。因此,%OWNPATH%
(没有空格)未定义,for /r %OWNPATH% %%F ...
扩展为for /r %%F
,for
循环最终查找当前目录(即C: \ Windows \ System32以管理员身份运行时。)
养成做这样的作业的习惯,以避免这个常见的错误:
set "OWNPATH=%~dp0"