可以使用带有以下命令行的批处理文件在您的 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输出的帮助以及%date:~-4,4%%date:~-10,2%%dateset /?
上的答案所解释的那样: ~-7,2%_%time:~0,2%%time:~3,2% 是什么意思?
字符索引计数从 0 开始。之后的第一个数字:~
始终是字符索引(正数从左或负数从右),第二个数字始终是字符数。
年份的第一个字符位于字符索引处0
,年份有四个字符。出于这个原因,第一个字符串替换是:~0,4
从 index0
到 index获取字符3
。
字符索引处的连字符4
不应出现在文件名中,因此被忽略。
文件夹时间戳字符串中接下来的两个字符是字符索引处的月份,5
这6
就是使用:~5,2
.
字符索引处的连字符7
再次被忽略,因为文件名不需要。
文件夹时间戳字符串中接下来的两个字符是字符索引处的月份日期,8
这9
就是使用:~8,2
.
从字符索引开始的最后六个字符10
对文件名没有意义。因此,这六个字符也被忽略了。
WinRAR在确定要备份的文件夹的最后修改日期并重新格式化适合存档文件名的时间戳后执行 WinRAR,以使用该字符串在存档文件名中创建 RAR 存档,并使用开关指定以下附加选项:
-ac
... 压缩后清除存档属性以了解上次存档中包含哪些文件以及自上次备份以来修改了哪些文件。
-cfg-
...忽略默认配置文件和环境变量。
-dh
...打开共享文件。
-ep1
...从名称中排除基本文件夹,这意味着D:\doc
不包含在存档中,但该文件夹aatmp
及其所有属性、时间戳和权限都包含在存档中。请参阅使用 WinRAR 命令行批量压缩 1 个文件夹的答案?有关在命令行上指定"%FolderToBackup%"
结尾不带反斜杠或结尾不带反斜杠的差异的详细信息"%FolderToBackup\"
。
-ibck
...在后台运行WinRAR,这意味着最小化到系统托盘。
-m4
...使用良好的压缩。
-oh
...将硬链接保存为链接而不是文件。
-ol
...将符号链接保存为链接而不是文件。
-os
...保存 NTFS 流。
-ow
... 处理文件安全信息。
-r
...递归添加所有子文件夹和文件。
-ts
... 保存所有文件时间(修改、创建、访问)。
-y
...在所有查询中假设是。
--
......没有更多的开关。
启动WinRAR ,单击第一个菜单项帮助主题上的最后一个主菜单帮助,单击列表项命令行模式上的选项卡内容,单击列表项开关并阅读所用开关的相应帮助页面以获取详细信息。
创建的 RAR 存档是一个真正的备份,因为它不仅包括文件和子文件夹及其最后修改日期和属性,还包括创建和最后访问日期,如果任何文件都有一个硬链接和符号链接,则备用数据流,和 NTFS 安全权限,以便能够在使用适当的开关提取 RAR 存档并使用支持甚至恢复 NTFS 安全权限的帐户时真正恢复所有内容。
要了解上面未详细解释的其他使用命令及其工作原理,请打开命令提示符窗口,在那里执行以下命令,并非常仔细地阅读为每个命令显示的所有帮助页面。
echo /?
endlocal /?
for /?
rem /?
set /?
setlocal /?