Batch file 如何通过为所有具有相同日期的文件创建一个存档来使用7-ZIP存档超过7天的文件

Batch file 如何通过为所有具有相同日期的文件创建一个存档来使用7-ZIP存档超过7天的文件,batch-file,zip,task,7zip,rar,Batch File,Zip,Task,7zip,Rar,我的问题有一个近似的解决方案,所有问题都在这个问题中描述: 问题是,我需要另一个类似的解决方案,但在7-Zip中工作,这必须在bat文件中编码,我相信,因为7-Zip中没有像Winrar中那样的-to7d开关 现在的代码(创建此代码归功于@Mofi): 基本上,只需要添加一个检查,检查修改日期是否大于7天。 我不知道如何实现这一点,因为一旦您运行:ArchiveLogs 7-Zip,它只会获取该文件夹中的所有内容,而且据我所知,没有任何开关可以检查这一点 我认为我们必须这样做: 用于检查文件

我的问题有一个近似的解决方案,所有问题都在这个问题中描述:

问题是,我需要另一个类似的解决方案,但在7-Zip中工作,这必须在bat文件中编码,我相信,因为7-Zip中没有像Winrar中那样的-to7d开关

现在的代码(创建此代码归功于@Mofi):

基本上,只需要添加一个检查,检查修改日期是否大于7天。 我不知道如何实现这一点,因为一旦您运行:ArchiveLogs 7-Zip,它只会获取该文件夹中的所有内容,而且据我所知,没有任何开关可以检查这一点

我认为我们必须这样做:

  • 用于检查文件的修改日期是否早于7天的代码,并将该文件名保存在值中
:ziponlyafter7天
对于:
“C:\Program Files(x86)\7-Zip\7z”-sdel a-mmt-mx3-tzip”%BakDirectory%!LastDate!\u Logs.Zip”“@%BakDirectory%\文件名\u值


您应该使用带/maxage:7选项的robocopy将相关文件复制到临时文件夹,然后使用7zip压缩所有文件。

以下内容适用于批处理文件中存在天数的文件

forfiles /P (SOURCE_folder) /S /M *.* /D -(number of date old) /C "cmd /C 7Z.exe a "Archive.ZIP @file" 
我只是想把日期弄对

forfiles /P (SOURCE_folder) /S /M *.* /D -(number of date old) /C "cmd /C 7Z.exe a "Archive.ZIP @file"