如何使用存档文件名中的当前日期创建RAR存档?

时间:2016-08-12 02:19:16

标签: batch-file archive winrar

我的文件夹D:\data包含许多子文件夹和文件,我希望将此文件夹与批处理文件存档到指定目录,并在存档文件名中添加当前日期,例如F:\11.08.2016_data

我的命令行到目前为止:

"C:\Program Files\WinRAR\rar.exe" a -ep1 -r "data" "D:\data"

此命令行在文件夹data.rar中创建RAR存档文件My Documents

如何添加日期并更改存档目录?

1 个答案:

答案 0 :(得分:3)

如何构建 WinRAR 命令行?

  1. 启动 WinRAR
  2. 点击帮助主题上的菜单帮助
  3. 点击列表项命令行模式上的目录标签。
  4. 单击列表项命令行语法,阅读此帮助页面并将粗体行复制到文本编辑器或命令提示符窗口中。
  5. 点击列表项命令上的目录标签。
  6. 单击列表项字母命令列表,并在文本编辑器或命令提示符窗口中用最合适的任务命令字母替换<command>
  7. 点击列表项切换上的目录标签。
  8. 点击列表项按字母顺序切换列表,并在文本编辑器或命令提示符窗口中用那些对任务有用的开关替换-<switch1> -<switchN>
  9. 使用相应的文件和/或文件夹名称替换文本编辑器或命令提示符窗口中 WinRAR 命令行的其余部分。
  10. 如何构建 RAR 命令行?

    1. 打开包含 WinRAR 程序文件的文件夹 标准文件夹是:
      %ProgramFiles%\WinRAR
      %ProgramFiles(x86)%\WinRAR
    2. 双击文件Rar.txt将其打开。这是Rar.exe的手册, WinRAR 的控制台版本。
    3. RAR命令行语法一章中,描述了一般命令行语法,该语法应该用作命令的模板,以便在文本编辑器或命令提示符窗口中输入。
    4. 接下来,可用命令按字母顺序列出,并附有简要说明。其中一个命令必须用于 Rar 命令行。
    5. 然后按顺序执行开关列表,并按字母顺序进行说明。建议您阅读有关开关的信息,同时在文本编辑器或命令提示符窗口中为任务键入有用的开关。
    6. 在文本编辑器或命令提示符窗口中键入 Rar 命令行的其余部分,即文件和文件夹名称。
    7. 您的任务的适当 Rar 命令行将是:

      "%ProgramFiles%\WinRAR\rar.exe" a -agYYYY-MM-DD -cfg- -ep1 -inul -m5 -r -y "F:\data_.rar" "D:\data\"
      

      交换机-agYYYY-MM-DD负责在目录F:\存档文件中创建,例如名称为data_2016-08-11.rar

      当然也可以使用

      "%ProgramFiles%\WinRAR\rar.exe" a -agDD.MM.YYYY -cfg- -ep1 -inul -m5 -r -y "F:\data_.rar" "D:\data\"
      

      在名为F:\的{​​{1}}存档文件中创建。但这不可取,因为国际日期格式data_11.08.2016.rar的优势在于按名称按字母顺序排列的文件也会按日期自动列出,而日期格式YYYY-MM-DD则不然。

      请参阅Simply compress 1 folder in batch with WinRAR command line?上的答案,了解在 Rar 命令行上指定DD.MM.YYYYD:\data的区别。

      对于以归档文件名中的下划线分隔的D:\data\左侧的日期字符串,有必要使用批处理文件,该文件还使用命令 REN 重命名创建的RAR存档文件。 / p>

      data

      要了解上面批处理代码中使用的命令及其工作方式,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面。

      • @echo off setlocal EnableDelayedExpansion "%ProgramFiles%\WinRAR\rar.exe" a -agYYYY-MM-DD -cfg- -ep1 -inul -m5 -r -y "F:\data_.rar" "D:\data\" for %%I in (F:\data_*.rar) do ( set "RarFileName=%%~nI" set "NewFileName=!RarFileName:~5!_data" ren "%%~fI" "!NewFileName!%%~xI" ) endlocal
      • echo /?
      • endlocal /?
      • for /?
      • ren /?
      • set /?