如何制作批处理文件来备份Windows调度程序上的目录,以便在每天指定的时间(例如下午6点)自动更新,并使用目录名称保存目录以及备份的日期和时间。
我已使用cmd搜索特定命令进行备份。
backup d:\Assignment\*.* d:\backup /s
但它不被识别为任何内部或外部命令。 目录结构是。
答案 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
它对我有用。