我尝试使用 WinRAR 命令行命令压缩 SQL 服务器备份(.bak
)文件。这是我使用的命令:
def fileType = "*.bak"
"cmd /c \"${rarCmd}\" a ${rarName} ${parameters} ${sourceDir} ${fileType}".execute()
我的文件夹中有这些文件:
Basket_backup_2014_07_30_010007.bak
Basket_backup_2016_07_31_010007.bak
Basket_backup_2016_08_05_010006.bak
Basket_backup_2016_08_05_010007.bak
我只想压缩今天创建的文件。那么我应该如何修改fileType
变量以压缩名称中包含2016_08_05
的文件?
答案 0 :(得分:1)
启动 WinRAR ,然后在菜单项帮助主题上单击菜单帮助。在标签目录打开列表项命令行模式,然后先单击命令行语法,您将在打开的帮助页面上看到:
WinRAR< command> - <交换机1> - < switchN> <档案> <文件...> < @listfiles ...> < path_to_extract \>
现在让我们将此行与您的代码行进行比较:
"${rarCmd}" a ${rarName} ${parameters} ${sourceDir} ${fileType}
您的代码中显然已经存在错误,在命令首先指定归档文件名,然后是开关,而不是首先指定开关,然后是存档文件名。
${sourceDir}
和${fileType}
之间不应有空格,而是反斜杠字符。
然后在内容列表中打开子列表切换,然后单击字母切换列表。使用此列表构建您的parameters
,同时从上到下阅读。最有趣的开关很可能是
-cfg- -ep1 -ibck -inul -m5 -r- -tl -tn23h -y --
-tn23h
表示文件的最后修改日期在过去23小时内(文件时间比当前时间减去23小时)。您还可以使用-tn1d
在1天内修改最后一次文件。
如果使用控制台版本Rar.exe
而不是GUI版本WinRAR.exe
,请在 WinRAR 的程序文件文件夹中使用文本文件Rar.txt
,因为这是手册对于控制台版本。控制台和GUI版本之间有一些不同的开关。
答案 1 :(得分:0)
你可以这样做:
def fileType = "*_${new Date().format('yyyy_MM_dd')}_*.bak"