将整个注册表导出到相对路径

时间:2014-06-09 16:39:51

标签: windows 64-bit windows-8.1

使用以下代码

REGEDIT /E C:\output.reg

在C目录中创建注册表转储文件。当存在具有相同名称的文件时,它会自动覆盖。当我尝试将输出目录更改为相对路径时,如此

REGEDIT /E output.reg

它不起作用。

没有创建文件,但处理时间与通常一样长。哪个代码可以使用相对路径导出整个注册表?

与请求一样,.bat代码包括调试代码:

ECHO %CD%
REGEDIT /E output.reg
PAUSE

命令行输出:

C:\Users\Username\Desktop\New_folder>ECHO C:\Users\Username\Desktop\New_folder
C:\Users\Username\Desktop\New_folder

C:\Users\Username\Desktop\New_folder>REGEDIT /E output.reg

C:\Users\Username\Desktop\New_folder>PAUSE
Press any key to exit . . .

.bat文件执行之前(和之后)的文件夹:

1 个答案:

答案 0 :(得分:1)

您问题中给出的命令语法已经很好了。如果为输出文件名提供相对路径,则将相对于当前工作目录创建该文件。这可以通过交互式命令提示轻松验证。

无论您的批处理脚本出现什么问题,问题都不像您目前所推测的那样。一些更明显的解释包括:

  1. 工作目录不是您认为的那样。通过向脚本添加调试代码来验证它,以发出工作目录。
  2. 由于某种原因文件被锁定,因此regedit无法写入文件。
  3. 您没有足够的权限写入工作目录。
  4. <强>更新

    非常感谢你的问题更新。我试图重新创建你的场景(我在Windows 7上,但我怀疑这很重要),我确实找到了和你一样的问题。该命令在交互式控制台窗口中正常工作,但在批处理脚本中执行时则不行。

    我不知道为什么会这样,但是这里有一个简单的解决方法就是提供完整的路径:

    REGEDIT /E %cd%\output.reg
    
相关问题