DOS批处理自动备份文件夹

合集下载

批处理自动备份文件并且压缩以及自动删除旧文件

批处理自动备份文件并且压缩以及自动删除旧文件

批处理自动备份文件并且压缩以及自动删除旧文件首先计算机要安装Winrar,我是默认安装的,安装路径就是c:\Program Files\winrar\开始备份吧。

比如要备份D:\WEB这个文件夹到F:\bak文件夹下面,命令如下start c:\"Program Files"\winrar\rar a -k -r -s -m1 -agYYYYMMDD-{bak}-NN F:\BAK\ D:\WEB\就这一条命令就能搞定了,解释下这条命令,a是添加文件到压缩包,-k是锁定压缩包,-s 是转换文件为解压缩文件,-m1是压缩的标准,就是快速压缩,标准压缩,最好压缩......,-ag是指定生成的文件名,按照我的设置生成的文件名为20140416-bak-02.rar,生成以日期命名的压缩文件,F:\BAK\是生成压缩包存放路径,D:\WEB\是压缩目标。

详细的压缩参数可在命令行输入c:\"Program Files"\winrar\rar /?或者进入c:\"Program Files"\winrar\ 目录,里面有个使用帮助.chm的文件。

如果生成的备份文件需要覆盖上次生成的文件,那命令就更简单了。

命令如下start c:\"Program Files"\winrar\rar a -k -r -s -m1 F:\BAK\每日备份.rar D:\WEB\这条命令我不解释了,参照上面的应该能够理解。

下面是删除旧的备份文件。

由于我硬盘只有100G,每天大概备份文件是10G,所以我是设置为每周星期天删除7天前的备份文件。

命令如下:set deltime=date:~0,10%forfiles.exe /p E:\ /s /m *.rar /d -7 /c "cmd /c del/s @path >>D:\log\deltime%.txt"set deltime=date:~0,10%这句是取一个当前时间的变量,forfiles.exe是系统文件,查找文件的。

Windows应用场景下自动备份文件的批处理脚本

Windows应用场景下自动备份文件的批处理脚本

Windows应用场景下自动备份文件的批处理脚本在Windows环境下,文件备份对于保护重要数据和应对意外情况至关重要。

为了提高效率和方便性,我们可以使用批处理脚本来自动化文件备份的过程。

本文将介绍如何编写一个简单但功能强大的批处理脚本,以满足Windows应用场景下的自动备份文件需求。

一、需求分析在编写批处理脚本之前,我们需要先明确自动备份文件的具体需求。

以下是一些常见的需求和功能要求:1. 根据时间或事件触发备份:脚本可以设置定期备份,如每天、每周或每月备份;也可以在文件更新后自动备份。

2. 自动创建备份目录:脚本应具备自动创建备份目录的功能,以便按时间、日期或事件命名备份文件夹。

3. 选择备份文件和目录:脚本应允许用户灵活选择要备份的文件和目录。

4. 自定义备份设置:脚本应允许用户自定义备份的保存路径、文件名格式、备份间隔等设置。

二、编写批处理脚本以下是一个简单实现自动备份文件功能的批处理脚本示例:```bat@echo offsetlocalREM 备份文件夹路径set "sourceFolder=C:\Users\Username\Documents"REM 备份目标路径set "backupPath=D:\Backup"REM 备份文件名格式set "backupFileName=Backup_%DATE:/=-%_%TIME::=-%.zip"REM 创建备份文件夹set "backupFolder=%backupPath%\%DATE:/=-%"mkdir "%backupFolder%"REM 备份文件xcopy "%sourceFolder%" "%backupFolder%" /E /IREM 压缩备份文件夹powershell Compress-Archive -Path "%backupFolder%" -DestinationPath "%backupPath%\%backupFileName%"REM 删除临时备份文件夹rmdir /S /Q "%backupFolder%"endlocal```三、脚本说明1. 首先,使用`@echo off`和`setlocal`命令关闭命令行打印和启用本地环境变量。

windows自动备份脚本(批处理)

windows自动备份脚本(批处理)

windows自动备份脚本(批处理)脚本(bkin1.bat)自动备份到一个文件夹脚本:1 本脚本可全程自动备份指定文件夹到目标文件夹,生成的临时文件与此脚本同目录2 备份说明:备份文件夹下所有文件(文件夹)会自动备份到:目标文件夹\备份日期命名的文件夹下,且将备份文件和备份时间记录到"备份记录.txt"文件3 实例:备份文件夹为"d:\会议文件",目标文件夹为"f:\会议文件备份",备份时间为2006-12-13,则"d:\会议文件"下所有文件(文件夹)和“备份记录.txt"会更新到"f:\会议文件备份"4 本脚本可自动设定执行计划任务(自行设定和启动Schedule服务),默认为每周5下午5点开始备份,备份完成40秒后自动关机(默认的计划任务名同临时文件名)——————————————————————————————————————bkin1.bat代码:QUOTE:@rem -----------------------自动备份脚本-by moochat 06.12----------------------------------@title 自动备份脚本-by moochat@color 1e@echo 说明:1 本脚本可全程自动备份指定文件夹到目标文件夹,生成的临时文件与此脚本同目录@echo 2 备份说明:备份文件夹下所有文件(文件夹)会自动备份到:目标文件夹\备份日期命名@echo 的文件夹下,且将备份文件和备份时间记录到"备份记录.txt"文件@echo 3 实例:备份文件夹为"d:\会议文件",目标文件夹为"f:\会议文件备份",备份时间为@echo 2006-12-13,则"d:\会议文件"下所有文件(文件夹)和“备份记录.txt"会更新到"f:\会@echo 议文件备份"@echo 4 本脚本可自动设定执行计划任务(自行设定和启动Schedule服务),默认为每周5下午5点@echo 开始备份,备份完成40秒后自动关机(默认的计划任务名同临时文件名):start@echo 请输入需要建立、修改的批处理备份文件名(如beifen,后缀默认为bat)@set /p filenm=@echo 请输入需要备份的文件路径( 文件名和路径均可,如e:\protel99se.exe,d:\会议文件 )@set /p BackupPath=@echo 你需要备份的文件路径为: %BackupPath%@echo @echo 你需要备份的文件路径为: %BackupPath%>%filenm%.bat@echo 请输入需要备份到那个路径(如f:\会议文件备份,注意结尾不能有" \ ")@set /p TargetPath=@echo 需要备份到那个路径为%TargetPath%@echo @echo 需要备份到那个路径为%TargetPath%>>%filenm%.bat@echo @if not exist %TargetPath% md %TargetPath%>>%filenm%.bat@echo @md %TargetPath%>>%filenm%.bat@echo @echo 开始备份:>>%filenm%.bat@echo @xcopy /d /e %BackupPath% "%TargetPath%">>%filenm%.bat@echo @echo 备份完成>>%filenm%.bat@echo @echo 备份结束时间:%%date% %time%%>>%filenm%.bat@echo @echo 备份文件夹为: %TargetPath% ----备份时间:%%date%%-%%time%% ^>^>%TargetPath%\备份记录.txt>>%filenm%.bat@echo @explorer %TargetPath%>>%filenm%.bat@echo [1]运行备份文件%filenm%.bat后退出@echo [2]修改备份设置@echo [3]设定计划任务@echo [4]删除建立的批处理备份文件并退出@set /p item=@if "%item%"=="1" call %filenm%.bat & del %filenm%.bat & exit@if "%item%"=="2" dir *.bat && goto start@if "%item%"=="3" sc config Schedule start= auto && net start Schedule && goto task@if "%item%"=="4" del %filenm%.bat & exit:task@echo @shutdown -s -f -t 40 -c "已将%BackupPath%备份到%TargetPath%,如要取消关机,请在开始-运行窗口输入shutdown -a">>%filenm%.bat@copy %filenm%.bat c:\windows\tasks\ & del %filenm%.bat @echo 默认的备份计划任务为每周5下午5点开始将%BackupPath%备份到%TargetPath%@echo 手动设定计划任务请自行修改(%filenm%.bat文件已复制到计划任务文件夹)@schtasks /create /tn "%filenm%" /tr c:\windows\tasks\%filenm%.bat /sc weekly /d FRI /st 17:00:00 @explorer c:\windows\tasks@rem ---------------------------------欢迎转载---------------------------------------------。

windows应用场景下自动备份文件和文件夹的批处理脚本

windows应用场景下自动备份文件和文件夹的批处理脚本

windows应用场景下自动备份文件和文件夹的批处理脚本在Windows应用场景下,我们经常需要自动备份文件和文件夹。

这可以确保我们的数据安全,并且在意外情况下能够方便地恢复文件。

自动备份的一种简单有效的方法是使用批处理脚本。

本文将介绍如何编写并使用批处理脚本来实现自动备份。

一、创建批处理脚本首先,我们需要创建一个新的文本文件,为其命名为“backup.bat”。

确保文件扩展名为“.bat”。

然后,将以下代码复制粘贴到“backup.bat”文件中:```batch@echo offset source_path=C:\path\to\sourceset backup_path=C:\path\to\backupxcopy /E /C /I /H /R /K /Y %source_path% %backup_path%echo Backup completed.```在上述代码中,我们使用了xcopy命令来执行备份操作。

其中,“source_path”是要备份的文件或文件夹的路径,“backup_path”是备份存储的路径。

你需要根据实际情况修改这两个变量的值。

xcopy命令的选项解释:- /E:复制文件夹及其所有子文件夹和文件- /C:继续复制,即使出错- /I:如果目标是一个目录或包含有目录的文件,而且源文件不包含有目录,则复制的目标文件或目录将具有与源文件相同的文件名和目录路径- /H:复制文件和隐藏文件- /R:覆盖只读文件- /K:复制文件属性和时间戳- /Y:不提示确认覆盖二、使用批处理脚本进行备份完成批处理脚本的创建后,我们可以直接双击运行脚本文件,即可执行备份操作。

脚本将根据上述定义的源路径和备份路径来执行备份。

此外,如果希望脚本在后台默默执行,而不显示命令行窗口,可以将批处理脚本的扩展名从“.bat”修改为“.cmd”,并在脚本开头加入以下代码:```batch@echo off```这样脚本将在后台运行,而不会显示命令行窗口。

dos命令大全COPY命令应用之文件备份【精选】

dos命令大全COPY命令应用之文件备份【精选】

dos命令大全COPY命令应用之文件备份-5if "%folder%"=="yes" (goto folder_copy) else (goto file_copy):file_copyfor /f "tokens=*" %%i in ("%source%") do (set file_root=%%~dpi)(echo xcopy /c /h /q /r %xcopy_parameter% /x /y "%SourceFiles%" "%file_root%"^>n ul 2^>nulecho attrib -h -r -s "%source%"^>nul 2^>nul)>>"%batch_directory%\\%name%_revert.bat"goto get_attrib:folder_copy(echo xcopy /c /e /h /i /g /q /r /s /x /y "%SourceFiles%" "%source%"^>nul 2^>nul echo del /a /f "%source%\\%name_log%_log.log"^>nul 2^>nul)>>"%batch_directory%\\%name%_revert.bat"rem ========获取文件(夹)的属性=============:get_attrib:: 根据文件(夹)来取舍dir中的/s参数,以防%suorce%为文件时多列路径:: 但是当%source%为文件的时候,dir /a /b "%source%"不会显示绝对路径if "%folder%"=="yes" (set dir_='dir /a /b /s "%source%"') else (set dir_="%source%") setlocal enabledelayedexpansionfor /f "tokens=*" %%i in (%dir_%) do (set var=%%~aiset attrib_=if not "!var:~1,1!"=="-" set attrib_=+!var:~1,1!if not "!var:~3,1!"=="-" set attrib_=!attrib_! +!var:~3,1!rem dos命令大全if not "!var:~4,1!"=="-" set attrib_=!attrib_! +!var:~4,1!if not "!attrib_!"=="" echo attrib !attrib_! "%%i">>"%batch_directory%\\%name%_r evert.bat"):add_to_regclscolor 1ftitle 文件备份器-开机自运行选项echo.echo ╭────────╮echo ╭─────────┤开机自运行选项├─────────╮echo │╰────────╯│echo │操作说明:│echo ││echo │本操作即将把备份任务加入到开机自运行│echo ││echo │选项中。

DOS下备份

DOS下备份

GHOST系统备份图解2006-12-09 19:22一、准备工作系统安装好以后,对系统进行及时备份,以防不测,以后恢复时三五分钟即可完成,还你一个全新的完整系统。

1、下载GHOST程序,解包到非系统盘,建一个文件夹,比如在E盘建立文件夹GHOST,把GHOST程序和备份文件放同一文件夹下面,以便将来寻找和操作。

2、GHOST是著名的备份工具,备份系统盘要在DOS下操作,简便的办法是安装虚拟软盘启动下载地址或者MAXDOS下载地址,或者矮人DOS工具箱下载地址,构成双启动系统。

虚拟启动软盘的使用参阅虚拟启动软盘使用方法。

3、对系统进行系统优化。

参阅系统优化设置 , XP系统服务启动项优化设置4、对系统做必要的清理,删除系统垃圾。

参阅系统清理二、系统分区备份1、重启选择进入DOS系统,转到备份盘(输入命令“E:”打回车),进入备份目录(输入命令“CD GHOST”打回车),运行GHOST程序(输入命令“GHOST”打回车)即可启动GHOST程序,OK按回车后后进入下图画面,按光标键,依次选择“Local(本地)→Partition(分区)→To Image(生成映像文件)”项(见图1),这一步不能搞错,记准从上往下数的选择顺序是1-2-2 。

2、屏幕显示出硬盘选择画面,选择分区所在的硬盘“1”,如果您只有一块硬盘,可以直接按回车。

3、选择要制作镜像文件的分区(即源分区),这里用上下键选择分区“1”(即C分区),再按Tab键切换到“OK“按钮,再按回车。

4、选择镜像文件保存的位置,此时按下“Shift+Tab”键可以切回到选择分区的下拉菜单,按上下键选择分区,例如“1:2”的意思就是第一块硬盘的第二个分区,也就是“D”盘,选好分区后,再按Tab键切到文件选择区域,用上下键选择文件夹,可以再按Tab键,切到“Filename”文本框键入镜像文件名称,如“xp”或“C_BAK.GHO”,然后按回车键即可。

用批处理文件自动备份文件及文件夹,并自动删除n天前的文件

用批处理文件自动备份文件及文件夹,并自动删除n天前的文件

⽤批处理⽂件⾃动备份⽂件及⽂件夹,并⾃动删除n天前的⽂件下是备份的批处理,添加到"计划任务"中,设定时间⾃动运⾏复制代码代码如下:@echo offrem 格式化⽇期rem date出来的⽇期是"2006-02-22 星期三",不能直接拿来使⽤,所以应该先格式化⼀下rem 变成我们想要的。

date:~0,4的意思是从0开始截取4个字符set d=%date:~0,4%%date:~5,2%%date:~8,2%rem 设定压缩程序路径,这⾥⽤的是WINRAR的rar.exe进⾏打包的set path=C:\Program Files\WinRARrem 设定要备份的⽬录set srcDir=D:\databascrem 设定备份⽂件所在⽬录set dstDir=E:\temp\backuprem 设定备份⽂件的前缀,⽬前为temp,前缀为backupset webPrefix=rem 如果⽂件不存在,开始备份if not exist %dstDir%%webPrefix%%d%.rar start Rar a -r %dstDir%%webPrefix%%d%.rar %srcDir%@echo on以下是删除N天前备份⽂件的批处理,注:在windows2003下,如XP下因为没有forfiles.exe,未测试拷贝2003的⽂件到XP的system32⽬录删除在C盘backup⽬录下最后修改⽇期在10天前的⽂件=================================================================================forfiles /p "c:\backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path"=================================================================================以下是复制某天前⽂件到其它位置的批处理要把在C盘根⽬录下最后修改⽇期⼤于或等于2007年7⽉1⽇的⽂件复制到D盘根⽬录下=================================================================================forfiles /p "c:\" /d "2007-7-1" /c "cmd /c copy @path d:\"Windows Server 2003内置的命令⾏⽂件,适合于XP以上系统⽰例:forfiles /m *.bkf /d -28 /c "cmd /c del @file /f"删除当前⽬录下28天以前的扩展名为bkf⽂件(以当前系统时间为基准)forfiles ⾃动删除7天前⽂件 delete2008-09-12 15:01⽤forfiles.exe试试。

DOS批处理自动备份文件夹

DOS批处理自动备份文件夹
@echo off for /f "tokens=2 delims=- " %%a in ('date /t') do set year=%%a for /f "tokens=3 delims=- " %%b in ('date /t') do set mon=%%b for /f "tokens=4 delims=- " %%c in ('date /t') do set day=%%c for /f "tokens=1 delims=:" %%d in ('time /t') do set hour=%%d for /f "tokens=2 delims=:" %%e in ('time /t') do set min=%%e set tm=%year%%mon%%day%%hour%%min% md e:\backup\bfg.%tm% xcopy /cey d:\bfg e:\backup\bfg.%tm% echo bfg.%tm% >> e:\backup\bklist.txt type e:\backup\bklist.txt | find "%year%%mon%%day%" > e:\backup\bklist_new.txt for /f %%i in ('find /V "%year%%mon%%day%" e:\backup\bklist.txt') do rmdir /S /Q e:\backup\%%i del e:\backup\bklist.txt ren e:\backup\bklist_new.txt bklist.txt pause
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以上是自动备份文件夹的DOS批处理命令。 说明: 本程序执行结果: 每隔一定时间自动将D盘下的bfg文件夹备份到E盘的backup文件夹下,并生成备份记 录到E盘的backup文件夹下的bklist.txt中。 每次备份时都检查是否存在前一天的备份,如果有,就删除。只保留当天的备份。 如果需要借用此批处理时,需要: 1) 将D或E盘符更改为自己的盘符,将需要备份的文件夹更改为自己的文件夹名。 2) 将上面批处理保存为“自动备份.bat” 3) 还需要设定定时备份时间。设定方法为: 开始->程序->附件->系统工具->任务计划 在任务计划中添加ห้องสมุดไป่ตู้一步保存的“自动备份.bat”,并设定任务执行周期,如1小时或 12小时执行一次。
@echo off for /f "tokens=2 delims=- " %%a in ('date /t') do set year=%%a for /f "tokens=3 delims=- " %%b in ('date /t') do set mon=%%b for /f "tokens=4 delims=- " %%c in ('date /t') do set day=%%c for /f "tokens=1 delims=:" %%d in ('time /t') do set hour=%%d for /f "tokens=2 delims=:" %%e in ('time /t') do set min=%%e set tm=%year%%mon%%day%%hour%%min% md e:\backup\bfg.%tm% xcopy /cey d:\bfg e:\backup\bfg.%tm% echo bfg.%tm% >> e:\backup\bklist.txt type e:\backup\bklist.txt | find "%year%%mon%%day%" > e:\backup\bklist_new.txt for /f %%i in ('find /V "%year%%mon%%day%" e:\backup\bklist.txt') do rmdir /S /Q e:\backup\%%i del e:\backup\bklist.txt ren e:\backup\bklist_new.txt bklist.txt pause
相关文档
最新文档