我在批处理文件中有以下代码:
@echo on
regedit.exe /S abc.reg
如果我运行它,我会收到如下错误:
我在谷歌搜索了这个并没有找到任何结果。有谁可以帮助我吗? 我试过了: - 删除/ S(我可以阅读(当然)错误消息 - 以管理员身份运行文件(默认情况下我是管理员)
我正在使用Windows 8。 错误消息:“无法导入C:\ users .... abc.reg”。打开文件时出错。可能存在磁盘或文件系统错误。
两个文件都在同一个文件夹中。
答案 0 :(得分:2)
以更简单的方式将其作为计划任务运行。
通过这种方式,您可以将批处理文件作为管理员运行,而无需烦人的密码提示。
有关更多有价值的信息,请在此处阅读...
答案 1 :(得分:2)
右键单击aix2_mm.bat并选择“以管理员身份运行”,您将获得一个您必须同意的全屏UAC提示,然后它将起作用。
如果您没有看到“以管理员身份运行”选项,请在右键单击之前按住Shift键。
让您的批次更加portable并不会有什么坏处。 %~dp0参数将扩展为ABC.reg的完整路径,如果它与.bat文件位于同一文件夹中。
@echo on
regedit.exe /S "%~dp0abc.reg"
答案 2 :(得分:2)
问题是,我以错误的方式处理了%~dp0。 %~dp0代表默认路径,但您不必在其后设置反斜杠!
如果要在与.bat文件相同的文件夹中运行.reg文件,只需按以下方式编写:
@echo on
REGEDIT /S "%~dp0ABC.reg"
这将在同一文件夹中运行文件ABC.reg。
如果你不想在子文件夹中运行某些东西,你必须这样做:
@echo on
REGEDIT /S "%~dp0SUBFOLDER\ABC.reg"
如果路径名中有空格,则只需要括号(“”)。
答案 3 :(得分:1)
小心工作目录
我的bat文件总是有第一行的代码
cd /d %~dp0
它可以安全地将当前目录更改为您的bat文件目录