使用带有Windows调度程序的cmd备份目录

时间:2014-04-13 16:00:57

标签: cmd backup windows-scheduler

如何制作批处理文件来备份Windows调度程序上的目录,以便在每天指定的时间(例如下午6点)自动更新,并使用目录名称保存目录以及备份的日期和时间。

我已使用cmd搜索特定命令进行备份。

backup d:\Assignment\*.* d:\backup  /s

但它不被识别为任何内部或外部命令。 目录结构是。

  • 来源:d:\ Assignment
  • 目的地:d:\ backup \

2 个答案:

答案 0 :(得分:0)

这应该适用于Vista及更高版本 - 它使用Robocopy(不要将其称为robocopy.bat)。

指定目标目录时要非常小心,因为/mir选项将创建镜像副本,并且delete files不存在于源树中。

如果将根目录指定为目标,/mir开关将擦除驱动器。

The first four lines of this code will give you reliable YY DD MM YYYY HH Min Sec variables in XP Pro and higher.

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"

robocopy "d:\Assignment" "d:\backup\Assignment %fullstamp%"  /mir

您只需测试此项并在任务计划程序中进行设置。

答案 1 :(得分:0)

@echo off
:: variables
set drive=d:\Backup
set folderdate=%date:~-10,2%%date:~-7,2%%date:~-4,4%_%time:~0,2%%time:~3,2%%time:~6,2%
set backupcmd=xcopy /s /c /d /e /h /i /r /y
echo ### Backing up My Documents...
%backupcmd% "d:\Assignment\*.*" "%drive%\Assignment\%folderdate%"
echo Backup Complete!
echo Backup Complete - Your Backup is located at %drive%
@pause

它对我有用。