1

我有一个更改注册表值的脚本,在此之前,它会备份注册​​表项,regedit /e用于创建 .reg 文件。

如果脚本第二次运行并且 .reg 备份文件存在,我会询问用户是否要将备份添加回注册表。

因为我不想用他们可能不理解的额外提示来混淆那些不知道发生了什么的用户,所以我使用以下代码来执行此操作,而不询问用户是否要导入:

Set objShell = CreateObject("WScript.Shell")
objShell.Run"regedit /s "  & """" & BackupFile & """" , 0, True

有没有办法从命令中获取退出代码以指示导入备份 .reg 文件regedit成功或失败?regedit

4

2 回答 2

6

regedit不返回状态码。reg.exe与子命令一起使用import

rc = objShell.Run("reg import """ & BackupFile & """" , 0, True)

If rc = 0 Then
  WScript.Echo "Import successful."
Else
  WScript.Echo "Import failed. (" & rc & ")"
End If
于 2013-08-19T09:36:42.817 回答
0

利用

 Return = objShell.Run("regedit /s "  & """" & BackupFile & """" , 0, True)

Return包含返回值。

于 2013-08-18T09:28:03.430 回答