【问题标题】:Windows 7: Scheduler with xcopy don't copy new filesWindows 7:带有 xcopy 的调度程序不会复制新文件
【发布时间】:2015-10-30 16:01:51
【问题描述】:

我创建了一个批处理文件来将文件从我的机器复制到备份机器。批处理文件是这样的:

@echo off
cd D:\Backup
echo %date% %time% - Starting backup process. >> D:\Backup\backup_log.txt
xcopy D:\T\Source I:\AREA\USER\Backup\T\Source /s/d/y/c/v/r/i/e >> D:\Backup\backup_log.txt
echo %date% %time% - Stopping backup process. >> D:\Backup\backup_log.txt
exit

当这个 bat 文件作为命令行运行时,它会将所有新文件和文件夹从源文件夹复制到目标文件夹。更新 I:\AREA\USER\Backup\T\Source 中的 Source 文件夹。这就是我想要的。

D:\Backup>Backup.bat

但是,当我使用 Windows 任务计划程序配置相同的 bat 执行时,计划程序运行时没有任何错误,但不会复制/更新新文件。

我使用的是 Windows 7。我进行了一些测试,在这种情况下,我看不出问题出在哪里。也许任务计划程序上的一些配置。我已经阅读了xcopy 参数的信息。但是这些参数在命令行中工作,为什么它不能使用 Windows 调度程序工作?

有什么帮助吗? 谢谢! 菲利普

Edit1:我发现了一些可以帮助解析错误的东西。如果在任务计划程序中选择选项仅在用户登录时运行,它可以工作。但是当我选择另一个选项无论用户是否登录都运行,它不起作用。

【问题讨论】:

  • 不要在使用不同用户帐户运行的任何程序中使用驱动器号。像任务调度程序。使用 UNC 名称,\\machinename\sharename\etcetera。

标签: windows windows-7 task scheduled-tasks


【解决方案1】:

嗯...我用这个解决了我的问题。 bat文件是:

@echo off
cd D:\Backup
echo %date% %time% - Starting backup process. >> D:\Backup\backup_log.txt
xcopy "D:\T\Source" "I:\AREA\USER\Backup\T\Source" /D /E /C /R /H /I /K /Y /V >> D:\Backup\backup_log.txt
echo %date% %time% - Stopping backup process. >> D:\Backup\backup_log.txt
exit

在任务计划程序中,我更改了常规选项卡并选中“仅在用户登录时运行”。

我不知道,但据我了解,“无论用户是否登录都运行”应该在用户登录时起作用。

【讨论】:

    【解决方案2】:

    我在通过任务计划程序使用 XCOPY 运行 bat 文件时遇到了类似的问题,其中 “无论用户是否登录都运行” 设置。问题是我有一个网络位置 \\domain 映射为磁盘 D: 因此我的 cmd 就像

    XCOPY /d /y \\192.168.1.1\Data D:\Data
    

    只执行bat文件就可以正常运行,但是task runner没有复制任何东西。我已经改成

    XCOPY /d /y \\192.168.1.1\Data \\domain\Data
    

    从那以后一切都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 2015-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多