如何根据文件名的前x个字符压缩文件组?


1

我有一个目录转储到哪个目录,以这种方式:

20160701_file001.log
20160701_file002.log
20160702_file001.log
...
20160801_file001.log
20160801_file002.log
20160801_file003.log
...

你可以建议一个可以在命令提示符下的父目录下运行的循环,它将仅压缩201607的所有文件,使用最旧文件的名称命名zip文件(位于同一位置)拉链?

这将为7月份提供31个文件,因为每天都会拥有自己的ZIP文件(尝试将所有文​​件压缩为“过多的文件以压缩”错误)。

编辑:似乎我的超级用户礼仪还没有达到标准,因为我在整个网站上收到来自同一用户的评论,指向我发布的许多“如何...”文件。向所有人道歉!

请找到我在下面使用的脚本 - 这一次只能拉上一天的价值,我正在寻求帮助以使其适应例如做一整个月的位于同一目录中的日志文件..

7z.exe a -tzip 20160731_file001.log.zip 201607*_file*.log

2
是的,但是......请注意 超级用户 不是免费的脚本/代码编写服务。如果您告诉我们您到目前为止所尝试的内容(包括您已经使用的脚本/代码)以及您遇到的问题,我们可以尝试帮助解决具体问题。你也应该阅读 我怎么问一个好问题?
DavidPostill

感谢@DavidPostill的提示 - 我已经修改了问题,以便更好地传达手头的问题..
vixbix

你的问题仍然不明确。 1 /。 “这将为7月提供31个文件,因为每天都有自己的ZIP文件”和2 /“使用要压缩的最旧文件的名称”不可能同时进行。 31个文件不能都具有相同的名称。
DavidPostill

7zip没有删除或移动功能,因此您必须编写一个批处理来解决该功能差距。您可以使用DOS中的日期变量轻松压缩当月。虽然在8月1日运行批处理文件并不容易,但是想要在上个月压缩... DOS不那么聪明...... community.spiceworks.com/scripts/show/... ...对于手动压缩,我只是使用 7za a 201607 201607*.log < - 这应该将7月份的所有日志文件压缩成一个zip文件。
Sun
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.