我可以从运行regedit / s获得退出代码吗?

时间:2013-08-18 07:57:30

标签: vbscript exit-code regedit

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

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

因为我不想混淆不知道发生什么事情的用户可能无法理解的额外提示,我使用以下代码执行此操作而不询问用户是否要导入:< / p>

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

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

使用

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

Return包含返回的值。

相关问题