windows-7 - Batch ~dp0 不适用于管理员权限?

标签 windows-7 batch-file cmd admin-rights

我有一个如下所示的批处理文件:

set OWNPATH = %~dp0

for /r %OWNPATH% %%F in (*.ocx) do ( echo %%F )

当我启动它时,它正确地列出了同一文件夹中的所有 OCX 文件,但列出了

中的 OCX 文件

C:\Windows\System32

当我右键单击它并选择“以管理员身份运行”时。

我该如何解决这个问题?该脚本一般需要管理员权限。

最佳答案

您的设置正在设置%OWNPATH %(请注意OWNPATH=之间的空格)。因此 %OWNPATH% (没有空格)未定义,并且 for/r %OWNPATH% %%F ... 扩展为 for/r % %Ffor 循环最终查找当前目录(以管理员身份运行时为 C:\Windows\System32)。

养成这样完成作业的习惯,以避免常见错误:

set "OWNPATH=%~dp0"

关于windows-7 - Batch ~dp0 不适用于管理员权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16301314/

相关文章:

android - shell/批处理脚本将命令定向到 adb shell

java - 从 Java 调用的 Setx 无法正常工作

Excel VBA CMD 列出目录内容

php - php cli 输出中的奇怪字符

java - 使用 Docker 和 Testcontainers 进行数据库集成测试

python - Python 中的 Windows 7 MARGINS 结构

batch-file - 自动化默认程序关联

windows - 哪些命令不能与 cmd 命令一起出现在一行/Windows 运行框中?

windows-7 - windows 7下如何强制删除硬盘上的文件

ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态