Batch file 计划的Robocopy任务失败,内存资源不足错误

Batch file 计划的Robocopy任务失败,内存资源不足错误,batch-file,cmd,windows-10,robocopy,windows-task-scheduler,Batch File,Cmd,Windows 10,Robocopy,Windows Task Scheduler,我的robocopy批处理脚本能够在命令提示符下成功运行,但从任务计划程序启动时,相同的bat文件无法运行。脚本已启动,但robocopy没有复制文件,而是返回了“内存资源不足错误”。在命令提示符下为脚本运行的命令相同,但行为却有莫名其妙的不同。robocopy和Windows任务计划程序在与路径名中的空格交互时遇到奇怪的无法解释的问题。在任务计划程序中,我提供了批处理脚本的完整路径,并在“编辑操作设置”对话框中使用了“开始”选项,这似乎是内存不足错误的最终原因。在测试中,尝试使用脚本的完整路径

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

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

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

  • 程序/脚本应为
    cmd
  • 编辑计划任务的“开始位置”(可选)操作设置,以指向包含bat文件的文件夹这不需要引号
  • 添加以下参数以添加参数(可选)
    /c start myscript.bat
    • 不要在bat脚本名称中添加空格
名称中带有空格的RoboCopy路径的解决方案:

  • 不要在路径名中包含尾随的反斜杠
  • 使用双引号引用robocopy命令中的任何路径名,并在最后一个引号前包含一个尾随空格。
    • e、 g.
      robocopy“C:\My Share\My Folder With Spaces”“e:\My Backup”/e..
其他说明:

  • 在bat文件末尾添加一个
    退出
    ,确保成功完成后关闭控制台窗口。start和/c似乎不会导致robocopy自动关闭