此任务可以在您的 Windows 计算机上使用您的区域设置使用带有以下命令行的批处理文件来完成:
@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "FolderToBackup=D:\doc\aatmp"
rem Get last modification date/time of the folder to backup
rem in region dependent format which is YYYY-MM-DD hh:mm.
for %%I in ("%FolderToBackup%") do set "FolderTimeStamp=%%~tI"
rem Get from this date/time string just the year, month
rem and day of month from the date without the hyphens.
set "FolderTimeStamp=%FolderTimeStamp:~0,4%%FolderTimeStamp:~5,2%%FolderTimeStamp:~8,2%"
rem Compress the folder to backup into a RAR archive file with
rem last modification date of folder used in archive file name.
"%ProgramFiles%\WinRAR\WinRAR.exe" a -ac -cfg- -dh -ep1 -ibck -m4 -oh -ol -os -ow -r -ts -y -- kk_%FolderTimeStamp%.rar "%FolderToBackup%"
rem Restore the environment as set before usage of command SETLOCAL at top.
endlocal
分配给环境变量FolderTimeStamp的字符串例如:
2014-06-01 22:12
这个字符串应该修改为:
20140601
这是使用字符串替换完成的,如在命令提示符窗口 set /? 中运行时命令 SET 输出的帮助以及What does %date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2% mean? 上的答案所解释的那样
字符索引计数从 0 开始。:~ 之后的第一个数字始终是字符索引(正数从左或负数从右),第二个数字这里始终是数字字符数。
年份的第一个字符在字符索引0 处,年份有四个字符。出于这个原因,第一个字符串替换是 :~0,4 以获取从索引 0 到索引 3 的字符。
字符索引4 处的连字符不应出现在文件名中,因此被忽略。
文件夹时间戳字符串中接下来的两个字符是字符索引5 和6 处的月份,这就是使用:~5,2 的原因。
字符索引7 处的连字符再次被忽略,因为文件名不需要。
文件夹时间戳字符串中接下来的两个字符是字符索引8 和9 处的日期,这就是使用:~8,2 的原因。
从字符索引10 开始的最后六个字符对于文件名没有意义。因此这六个字符也被忽略了。
WinRAR 在确定要备份的文件夹的最后修改日期后执行,并重新格式化适合存档文件名的时间戳以创建一个 RAR 存档,存档文件名中包含该字符串,并指定了以下附加选项用开关:
-
-ac ... 压缩后清除 archive 属性,以了解上次存档中包含哪些文件以及自上次备份以来修改了哪些文件。
-
-cfg- ...忽略默认配置文件和环境变量。
-
-dh ... 打开共享文件。
-
-ep1 ... 从名称中排除基本文件夹,这意味着 D:\doc 不包含在存档中,但文件夹 aatmp 及其所有属性、时间戳和权限都包含在存档中。请参阅Simply compress 1 folder in batch with WinRAR command line? 上的答案,详细了解在命令行上指定 "%FolderToBackup%" 结尾不带反斜杠或 "%FolderToBackup\" 结尾不带反斜杠的区别。
-
-ibck ...在后台运行WinRAR,这意味着最小化到系统托盘。
-
-m4 ... 使用良好压缩。
-
-oh ... 将硬链接保存为链接而不是文件。
-
-ol ... 将符号链接保存为链接而不是文件。
-
-os ... 保存 NTFS 流。
-
-ow ... 处理文件安全信息。
-
-r ... 递归添加所有子文件夹和文件。
-
-ts ... 保存所有文件时间(修改、创建、访问)。
-
-y ... 假设所有查询Yes。
-
-- ... 不用再切换了。
启动WinRAR,点击最后一个主菜单帮助第一个菜单项帮助主题,点击标签目录 在列表项命令行模式上,单击列表项Switches并阅读所用开关的相应帮助页面以了解详细信息。
创建的 RAR 存档是一个真正的备份,因为它不仅包括文件和子文件夹及其最后修改日期和属性,还包括创建和最后访问日期,备用数据流以防任何文件都有一个,硬和符号链接和 NTFS 安全权限,以便能够在使用适当的开关提取 RAR 存档并使用支持甚至恢复 NTFS 安全权限的帐户时真正恢复所有内容。
要了解上面未详细解释的其他使用命令及其工作原理,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读每个命令显示的所有帮助页面。
echo /?
endlocal /?
for /?
rem /?
set /?
setlocal /?