1

我的 Powershell 备份脚本有点问题。我使用带有 Robocopy 的任务计划程序来部署我的备份。

这是一个命令示例:

schtasks /Create /SC ONCE /TN $TaskName /TR "robocopy.exe $Source $Target /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad" /ST $StartTime /SD $StartDate /F

问题是,当我运行我的脚本时,任务会出现,但它使用相同的文本和相同的变量

例如,此脚本将使用以下命令运行任务:

robocopy.exe $Source $Target /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad

使备份无法正常运行。

它应该像这样保存在任务中:

robocopy.exe C:\test\source D:\test\target /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad

有一个选项,我可以将命令保存在 .bat 文件中并执行它,但这不应该是解决方案。

如果有人可以帮助我,那就太棒了!:D

最好的祝福

卢巴斯

4

2 回答 2

2

查看您的代码,您可能想尝试这样的事情:

schtasks /Create /SC ONCE /TN $TaskName /TR `"robocopy.exe $QuellPfadRAW $ZielPfad /M /E /COPY:DAT /V /R:0 /W:0 /LOG:$LogPfad`" /ST $StartTime /SD $StartDate /F

当您将 "s 放在 Powershell 行中时,它会将其中的所有内容都视为文字,这意味着变量不会被替换。

如果你在你的每个 "s 前面放一个 `,它应该否定它。

对不起,我花了这么长时间才回复你顺便说一句。

于 2012-11-08T17:15:16.297 回答
1

怎么样

$taskrun = "`"robocopy.exe $Source $Target /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad" /ST $StartTime /SD $StartDate`""
schtasks /Create /SC ONCE /TN $taskrun
于 2012-11-02T14:57:42.877 回答