如何正确设置-backupTarget:\\?\ Volume {GUID}?

时间:2019-06-26 12:42:24

标签: batch-file backup windows-server-2016

我想在我的Win Server 2016上创建完整的系统备份,并将其保存到外部SSD。

我有一个批处理脚本,可以通过以下方式完成此操作:

  1. 启用并添加计划的备份
  2. 开始备份

我的问题是,当我以backupTarget的身份输入卷GUID时,脚本失败,并且出现此错误:

  

错误-找不到指定的备份位置,或者它不是受支持的备份存储位置。

代码:

REM target and source are read from config file. I'll only add lines i have problem with here.
REM target={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
REM source=c:

wbadmin enable backup ^-addTarget:"%target%" -schedule:21:00 -include:c: -vssFull -quiet

wbadmin start backup ^-backupTarget:"\\?\Volume%target%" -include:"%source%" -vssFull -systemState -quiet

直接在cmd中运行时,我删除了^

wbadmin enable backup -addTarget:"%target%" -schedule:21:00 -include:c: -vssFull -quiet

wbadmin start backup -backupTarget:"\\?\Volume%target%" -include:"%source%" -vssFull -systemState -quiet

预期的结果应该是它能够成功创建备份,就像我直接在cmd.exe中运行命令一样。

我在cmd.exe中尝试了同一行,并且可以运行,但是从脚本中运行它失败。为什么会这样?

我是否需要添加一些^之类的转义字符,才能正确读取-backupTarget

感谢我能获得的所有帮助!

1 个答案:

答案 0 :(得分:0)

我输入驱动器GUID而不是卷GUID时出错。 使用mountvol.exe,我可以看到正确的GUID,然后它可以工作。

wbAdmin不喜欢将卷安装到系统驱动器C上: 因此,如果要备份C,请小心将其安装在其他位置。