PowerShell、Robocopy 和 SchTasks --> 为命令发送变量和文本



我的powershell backupscript有一个小问题。我将任务调度程序与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:testsource D:testtarget /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad

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

如果有人可以帮助我,那将是很棒的!:D

最好的问候

卢巴斯

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

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的面前都放了一个。

对不起,我花了很长时间才回到你身边。

怎么样
$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

最新更新