预定的Robocopy任务失败,没有足够的内存资源错误

问题描述 投票:0回答:1

我的robocopy批处理脚本能够在命令提示符下成功运行,但是从任务计划程序启动时,相同的bat文件无法运行。该脚本已启动,但是robocopy并未复制文件,而是返回了“内存资源不足错误”。在脚本的命令提示符下运行的命令是相同的,但是行为莫名其妙地不同。

batch-file cmd windows-10 robocopy windows-task-scheduler
1个回答
0
投票

Robocopy和Windows Task Scheduler在与路径名中的空格交互时出现奇怪的无法解释的问题。在任务计划程序中,我提供了批处理脚本的完整路径,并使用“编辑操作设置”对话框中的“开始于”选项,这似乎是内存不足错误的最终根源。在测试中,尝试在没有“开始于”选项对话框的情况下使用脚本的完整路径是行不通的。此外,在“编辑操作”界面中引用路径名会导致“找不到目录错误”

任务计划程序中“编辑操作”对话框的解决方案:

  • 程序/脚本应为cmd
  • 编辑开始于(可选)计划任务的操作设置,使其指向带有bat文件的文件夹。 这不需要引号
  • 将以下参数添加到添加参数(可选)/c start myscript.bat
    • 不要在蝙蝠脚本名称中放置空格

名称中带有空格的RoboCopy路径解决方案:

  • 路径名称中不包含尾部反斜杠
  • 使用双引号在robocopy命令中用引号引起来,并在最后一个引号前加上尾随空格。
    • 例如robocopy "C:\My Share\My Folder With Spaces " "E:\My Backup " /E...

[其他说明:

  • 在bat文件的末尾添加EXIT,以确保成功完成后关闭控制台窗口。 start和/ c似乎不会导致robocopy自动关闭。
© www.soinside.com 2019 - 2024. All rights reserved.