我有一个目录,其中复制了各种日常文件。我需要编写一个power shell脚本,它将根据文件创建日期组创建7z
存档。存档的名称包括那些组日期。
以下示例
FileA 06/23/11
FileB 06/23/11
FileC 06/24/11
脚本应该创建2个档案
062311.7z contains FileA, FileB
062411.7z contains FileC
提前致谢
---------现在我必须开发一个可以处理每日/每周/每月持续时间的压缩程序
答案 0 :(得分:5)
您需要做的第一件事是使用group-object将所有文件分组到日期:
$groups = dir | group-object -property {$_.LastWriteTime.Date}
然后为每个组构建一个命令字符串,用于执行压缩并执行它:
$groups | foreach{$cmd = "7z.exe a $((Get-Date $_.Name).ToString(`"MMddyy`")).7z $([string]::join(`" `", $_.Group))"; invoke-expression $cmd}
警告,以上内容未经过实际测试(例如,如果您在文件名中填空,则无效)。但希望它会让你足够继续。