Windows 7:带有 xcopy 的调度程序不复制新文件
Windows 7: Scheduler with xcopy don't copy new files
我创建了一个批处理文件来将文件从我的机器复制到备份机器。批处理文件是这样的:
@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 中的源文件夹。这就是我想要的。
D:\Backup>Backup.bat
但是当我使用 Windows 任务计划程序配置相同的 bat 执行时,计划程序运行时没有任何错误,但没有 copy/update 新文件。
我正在使用Windows 7.我已经做了一些测试,在这种情况下,我看不出问题出在哪里。也许在任务计划程序上进行一些配置。我已经阅读了 xcopy
参数的信息。但是这些参数在命令行中工作,为什么它不能使用 windows 调度程序?
有什么帮助吗?
谢谢!
菲利普
Edit1: 我发现了一些可以帮助解析错误的东西。如果在任务计划程序中,我 select 选项 运行 仅当用户登录时 ,它才有效。但是当我select另一个选项运行无论用户是否登录时,它不起作用。
好吧...我用这个解决了我的问题。
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
在任务计划程序中,我更改了常规选项卡并选中 "Run only when user is logged on"。
我不知道,但据我了解,"Run whether user is logged on or not" 应该在用户登录时起作用。
我有一个类似的问题 运行 bat 文件,通过设置了 "Run whether user is logged on or not" 的任务计划程序进行 XCOPY。 ussue 是我有一个网络位置 \\domain 映射为光盘 D: 因此我的 cmd 就像
XCOPY /d /y \192.168.1.1\Data D:\Data
仅通过执行 bat 文件 运行 没问题,但任务运行程序没有复制任何内容。我已将其更改为
XCOPY /d /y \192.168.1.1\Data \domain\Data
从那以后一切都很好。
我创建了一个批处理文件来将文件从我的机器复制到备份机器。批处理文件是这样的:
@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 中的源文件夹。这就是我想要的。
D:\Backup>Backup.bat
但是当我使用 Windows 任务计划程序配置相同的 bat 执行时,计划程序运行时没有任何错误,但没有 copy/update 新文件。
我正在使用Windows 7.我已经做了一些测试,在这种情况下,我看不出问题出在哪里。也许在任务计划程序上进行一些配置。我已经阅读了 xcopy
参数的信息。但是这些参数在命令行中工作,为什么它不能使用 windows 调度程序?
有什么帮助吗? 谢谢! 菲利普
Edit1: 我发现了一些可以帮助解析错误的东西。如果在任务计划程序中,我 select 选项 运行 仅当用户登录时 ,它才有效。但是当我select另一个选项运行无论用户是否登录时,它不起作用。
好吧...我用这个解决了我的问题。 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
在任务计划程序中,我更改了常规选项卡并选中 "Run only when user is logged on"。
我不知道,但据我了解,"Run whether user is logged on or not" 应该在用户登录时起作用。
我有一个类似的问题 运行 bat 文件,通过设置了 "Run whether user is logged on or not" 的任务计划程序进行 XCOPY。 ussue 是我有一个网络位置 \\domain 映射为光盘 D: 因此我的 cmd 就像
XCOPY /d /y \192.168.1.1\Data D:\Data
仅通过执行 bat 文件 运行 没问题,但任务运行程序没有复制任何内容。我已将其更改为
XCOPY /d /y \192.168.1.1\Data \domain\Data
从那以后一切都很好。