《[!NAME]》文件时间修改说明

当前版本： [!VERSION]
更新日期：[!DATE]

- 本窗口可以对文件、目录的创建时间、修改时间、访问时间进行修改，根据不同的需要将修改分为7种模式，基本能满足各种场景的需求。

  考虑到各别情况不同的时间可能会相同，如创建时间和修改时间相同，或修改时间与访问时间相同等，引入了时间绑定功能，可通非常方便地实现此功能。

  面对不同的使用者，对时间精度也不同，一般的操作精度达到秒级即可，也是操作系统默认支持的精度。特殊情况时若需要更高精度的时间修改，也能很方便地切换精度。值得注意的是，高精度需要文件格式的支持，微秒级的精度还存在一定的误差（银行机构都无法实现无误差操作）。

- 软件界面为多文档的 MDI 窗口界面，主界面的工具栏位于第一排，主要集成各种任务的创建、打开、保存操作，还提供了大部分窗口统一的预览、应用命令（这些命令在子窗口中也会提供）。

  本时间修改窗口的界面有两排工具栏，第一排工具栏为主要操作命令，提供4种添加文件方式（还支持文件拖拽操作，这种方式更灵活，能同时添加目录和文件），还提供多种排序命令。除了有任务保存功能外，还有导入导出功能，允许将当前文件的设置时间导出到文本、excel 文件，有需要时再导入进行修改（或再次修改），甚至可以借助其他工具编辑后再导入修改。

  第二排工具栏主要是时间绑定和时间精度选择，其中有个“随机充填”功能是在时间精度不高时，为了避免高精度数据为零时使用，因为系统虽然默认精度是秒，但在标记文件各项时间时还是按微秒来记（NTFS文件格式），启用“随机填充”可随机生成末尾的非零数据，避免了明显的人工修改痕迹。

  接着是时间修改模式选择，提供了7种模式，特别是最后一种高级模式，几乎能满足各种需求，后面会对每种模式进行说明。

  跟着的就是不同模式时下的时间设定，会根据不同的模式切换面板显示，保证界面简洁。最前面的一列“修改范围”可决定要修改的时间项，如不想修改创建时间时可将其禁用。其中最后一个“任务选项”面板不是时间设定，是专为任务设置，若不想保存为任务时可忽略。

  最后最大的区域就是文件列表了，添加文件后会显示当前文件的各种时间信息（当前时间）。在选择修改模式后并设置好时间设定后，用预览命令可在新时间段显示要修改的时间数据，若无误后就可以用应用命令真正修改文件时间，表格会以不同背景色显示修改情况。

- 本软件提供七种时间修改模式，下面分别说明其功能和使用方法：

  固定时间：直接指定固定的时间进行修改，这个最好理解。

  随机时间：需要指定一个时间范围，即开始时间和截止时间，修改时会从这个范围内随机生成。

  平均时间：是指在一个时间范围内，按文件数量和排序，将时间平均分给各文件，生成的时间会按一定的平均值增加，浮动系数可以了让生成的时间在平均值附近随机变动，使得平均值有一定偏差，数据看起来不太生硬。

  等差时间：有点类似平均时间，但只需指定一个时间起点，再设定固定增加（或减少）的时间量，生成时间时会按文件排序逐个递增（或递减），浮动系数一样是为了让生成的时间看起来不生硬。这里要说明一点，修改的固定量若是月、年等，会自动识别大小月，不会出现时间跨日的情况，如
  固定量：1个月，开始时间：1月31日，生成的时间为：2月28日、3月31日、4月30日……，比较人性化。

  时间提前：将文件的当前时间提前到按指时间量，会以文件的当前时间作为时间起点。比如将时间提前到2小时前或一天前。按月、年提前时也不会出现跨日情况。

  时间延后：类似时间提前，是以文件的当前时间作为时间起点，将时间往后延。比如将时间推后1小时。

  高级模式：会按一定的时间规则约定，随机生成新的时间模式，非常灵活，是将时间分成 年、月、日、时、分、秒、毫秒、微秒 8个数据段，再为每一段设定可能出现的规则。规则约定后面有详细说明，看着好象很复杂，但使用起来完成就是用鼠标点几下的事。双击规则输入框可进入到编辑窗口，里面有更详细的说明，其实也用不上说明，看了界面基本就知道怎么用了。这里说明本窗口中的使用。
  = 将当前规则暂存，暂存后可放心修改，改错了也能方便恢复
  2 恢复原来暂存的规则
  ] 打开规则编辑窗口，与双击规则输入框同效

  时间顺序表示时间是否要排序后再按当前文件顺序分配，排除时间表示当前规则是否存在排除时间（需要在规则编辑窗口中修改），排除时间可以避出不想出现的时间，如节假日、周未以及凌晨时间段。也因为有排除时间，在设定规则时可能会出现逻辑错误，如不能出现2月30日，因此会有个尝试次数（默认为500次，可在软件设置中修改），若在一定次数后还不能生成有效时间，就将规则视为无效规则，可用测试按键进行验证。

  其中开始时间（修改时间）和截止时间在双击日期时间后，会弹出个有点意思的日期时间编辑窗口，双击表格中的新时间列的单元格一样也会弹出该窗口，允许手动指定时间。

- 如果某种时间设置会经常用到，可以生成任务模板，不需要每次都进行重复的设定。使用方法也简单，只要将相应的设置调整好，保存成 *.task 任务文件即可。任务选项处有一些选项要作下说明：

  不保存文件：即不保存当前文件列表中的文件信息，只保存时间设定，这类模板可用在很多文件，每次打开任务后添加文件即可使用。相对的要保存文件时，打开任务后会自动添加这些文件，当然还是可以添加其他文件。

  锁定文件：在选择保存文件后，可用此选项锁定文件，即打开任务后不可以添加、删除文件，任务只能对指定文件作用。

  锁定设置：锁定文件时除了不能添加、删除文件外，还是可以修改设置甚至是切换任务模式，锁定设置后将无法再改动时间设置，适合用于要求比较高的任务。

  不生成记录：当前操作不会记录进操作记录中，也意味着操作将无法恢复！

- 排序功能：可以移动文件、排序文件列表，支持鼠标移动文件，点击表头标题一样可以进行按列信息排序。

  导入导出功能：除了保存任务外，还可以将当前列表中的文件和预览时间数据导出到文本文件或 excel 文件保存，导入时若列表中无该文件时会自动添加，若有则填写导入的数据。可利用其他工具修改导出文件的数据，再导入来生成特殊时间。

  引用文件到其他任务：将当前列表中的文件引用到其他任务窗口，如将当前文件引用到时间备份任务，先对文件时间进行备份后再进行修改。

- 标准格式：[2000-2025]/[1-12]/[1-31] [0-23]:[0-59]:[0-59].[0-999].[0-999] 表示：[ 年 ]/[ 月 ]/[ 日 ] [ 时 ]:[ 分 ]:[ 秒 ].[ 毫秒 ].[ 微秒 ]

  每段数据必需用中号括号括住，每段数据间的分隔符也是固定的，不可随意修改，如日期之间用 / 隔开，时间用 : 隔开，而日期和时间要用空格隔开，毫秒微秒要用 . 隔开

  每段数据的规则有3种表达方式，前两种可以任意组合，用 , 隔开多组表达式，数字可以重叠也可以多次使用，以增加选中几率：

  xxx : 直接使用固定数字，表示指定时间，如：年份数据段 [2020,2025] ，表示从 2020、2025年中随机取值

  xxx-xxx：指定数据范围，表示在此范围内随机取值，如：年份数据段 [2018-2025,2010-2015,2002]，表示从这两时间段内以及2002中随机取值

  @：固定写法，不能与其他表达式组合，表示不改变此段时间，如：月份数据段 [@] 表示不改变文件的月份时间。

  实例：[2000-2025,2010-2025,2020-2025,2025]/[1-6]/[10-15,11-14,12,13,13,13] [8-20,8-12,15-18]:[0-59]:[@] (秒精度时后面的规则可省略)

  年数据段：取2000-2025年之间取值，取 2025年 的几率最大，其次是 2020-2024 年，2000-2010 年几率最小

  月数据段：随机取1-6月时间

  日数据段：取 10-15 日之间日期，13 日的几率最大，其次是 12 日，10-15 日几率最小（象不象发工薪日 ^_^）

  时数据段：取 8-20 点之间数据，其中 8-12、15-18 工作时间几率较高

  分数据段：无做特殊要求，随机取值

  秒数据段：按原文件的秒数据不做改动

  从这段时间规则看来，有点象在约定工作时间，但单单从规则本身还做不到排除周未、节假日以及凌晨等时间段，这时就需要进入到规则编辑窗口中约定排除时间，这样就能完美地得到想要的时间了。