我创建了一个批处理文件,用于将文件从我的机器复制到备份机器。批处理文件是:
@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调度程序?
有任何帮助吗? 谢谢! 菲利普
编辑1:我发现了一些可以帮助解析错误的内容。如果在任务计划程序中,我选择仅在用户登录时运行选项,则它可以正常工作。但是,当我选择其他选项运行用户是否登录时,它不起作用。
答案 0 :(得分:0)
嗯......我用这个解决了我的问题。 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
在任务计划程序中,我更改了常规标签并检查"仅在用户登录时运行" 。
我不知道,但据我所知,"运行用户是否登录" 应该在用户登录时有效。
答案 1 :(得分:0)
我有一个类似的问题,通过任务计划程序使用XCOPY运行bat文件,使用“运行是否登录用户”设置。问题是,我将网络位置 \\ domain 映射为光盘 D:,因此我的cmd就像
XCOPY /d /y \\192.168.1.1\Data D:\Data
它只是通过执行bat文件运行良好,但任务运行器没有复制任何东西。我把它改成了
XCOPY /d /y \\192.168.1.1\Data \\domain\Data
从那以后一切都很好。