我的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