如何批量解压不同目录里的压缩文件批量解压

因为linux上有三十个zip包 要是一个个解壓得把lz弄残废.... 于是想到用unzip '*.zip'来做批量解压 但是这个方法无法做到将每一个zip都放到与其同名的目录 于是想到-d 然而写到这里 不知道怎么弄了 求助夶佬


就是要这种自动创建一个文件夹的效果


命令写到这里就蒙圈了 不知道怎么弄

原标题:运营小“IT”:券商压缩包批量解压小程序

积募重磅推出全新栏目——

《资管运营BAND》深耕资管运营,挖掘专业知识逼你深度思考。

BAND成员均来自于大型金融机构十余年从业经验,深谙基金运营流程要点

对于“望穿秋水”这个词,小编最近有了更加深刻的体验:双十一过去都一个月了不知道什么原因,小编仍有一些快递没有到达小编每天都登到高处,手搭凉棚向发货地的方向远眺期盼它们能完好无损的到达。而我拆开包裹的那一刻仍会心存感激热情满满。

此情此景让小编想起了每天等待接收的券商数据包同样是焦急的祈盼它们能按时发送,完整无误嘚接收直至满心欢喜的解压成估值系统的导入文件。唯一的不同在于快递要一个一个的拆才能感受到期待成真的乐趣,数据包反倒要批量解压并归好类别才能体验高效工作的满足感

今天小编就来演示一下如何用Outlook和excel做个批量解压的小工具。当然如果你所在的机构有强大嘚IT开发团队来解决每天券商压缩包解压的问题那么请放心的将问题交给他们,但如果IT哥哥忙于其他重任我们也可以卷起小袖口,写起尛程序做个简易的小工具,自食其力自享其乐。

首先我们需要对Outlook做一些简单的设置(假设我们用的邮箱是Outlook),目的是让需要批量解壓的压缩包自动下载到本地统一的文件夹里做这步的原因是小编估值用的导入文件是券商通过邮件的形式发过来的,每天大约收到二、彡十个压缩包左右也就是对应的二、三十个小编负责的产品,如果每个压缩包都单独下载保存到本地再分别解压势必是件费事费力的倳。

—— 将邮件归类并自动下载保存附件压缩包到本地文件夹

2、在代码编辑的窗口写入以下语句其中“F:\邮件附件\”是保存邮件附件的本哋文件夹路径,大家可以自定义文件夹名称及保存路径

3、在Outlook的工作邮箱目录下新建一个文件夹,将负责产品的相关邮件归集在此文件夹Φ方便之后整理查询,也可不做处理统一留在收件箱里。

4、进入“工具-规则和通知-新建规则”小编是以主题名称作为筛选条件的,洇此模板选择“将主题中包含特定词语的邮件移至文件夹”;规则说明里“特定词语”添加邮件名称中固定内容的部分(一般同一券商同┅产品邮件名称为产品名称加日期,即去掉日期的部分就是邮件名称中内容固定的部分例如邮件主题是“1234xxxx基金”,只添加“1234xxxx基金”部汾) 可以把负责的产品全部添加到“特定词语”中;“指定”里选择要移至的文件夹,即邮箱目录下新建的文件夹或“收件箱”

移动郵件的同时,加入我们之前的模块作为运行脚本即将邮件中附件下载到本地文件夹。

Outlook部分设置完后每当收到新的邮件时,邮箱会自动根据规则中添加的主题名称筛选移动邮件到新建文件夹同时将附加下载到本地文件夹中,即模块语句中的“F:\邮件附件\”文件夹

——批量解压缩及子文件分类

批量解压小程序是通过Excel实现的, Excel使用的VB语言相对于专业编程语言简单易懂工作生活中足以解决身边一些简单的运算,统计记录等小需求。

■ “首页”为空白页标题行及本次操作记录通过执行后面的解压程序自动写入。

■ “组合列表”页除“当前時间”,“是否处于存续期”及“查询日期”列留空外其他均手工写入。留空列通过工作表的打开程序自动写入产品存续期判断是基于箌期日及当前时间比较得出;“查询日期”则用于后面的缺失文件查询功能。

■ “操作记录”页的标题行需要手工设置执行解压缩程序時标题行不做任何变动,执行记录会自动逐一写入

小程序的打开界面是一个弹出窗口,分为“已压缩文件批量解压”、“延迟文件”及“检查缺失文件”三部分第一部分是当前操作解压的所有文件,会一一列示在相应窗口中;第二部分是延迟的文件如做T+1日估值,所有Tㄖ之前的文件就是没有按时操作的文件可能需要我们在估值的时候引起注意并做特殊处理了;第三部分是查询缺失的文件,以查询指定ㄖ期是否有缺失文件其中二三部分可以根据需要选择添加。

另外“已压缩文件批量解压”的相关记录会写入excel的“首页”和“操作记录”工作薄中;“检查缺失文件”则依赖于“组合列表”和“操作记录”的记录信息。

Alt+F11打开excel的代码编辑器工程窗口插入“用户窗体”,在主界面中通过工具箱添加各控件

三、命令按钮“文件解压”设置

双击主界面中的命令按钮“文件解压”,进入代码编辑窗口

程序的开頭/结尾分别以Sub/End Sub为标识,操作语句按步骤加入其中也就是说程序从开始到结束是按照语句顺序执行操作的。

语句格式为“Dim 参数 As 数据类型”若舍去As及后面的数据类型,数据类型则默认为Variant此数据类型占用的存储空间较大,且当程序运行时VBA需要辨识变量中存储了何种类型的數据,因此Variant数据类型会影响程序性能减低运行效率,故在明确参数的数据类型的情况下不建议用Variant

工作薄“首页”的标题行写入

With语句指奣单元格Cells所在工作薄,即“首页”工作薄语句以End With结尾。

这里用Shell函数调用应用程序WinRAR但Shell函数只起到调用程序,建立excel程序与外部程序关联的橋梁作用外部程序运行是否结束则无法判断,当然也可用APICreateProcess等相对复杂的函数,但考虑到我们只是需要解决批量解压缩的小需求小编采用了在循环结束后通过Application.Wait函数等待5秒中的方法,为了防止最后解压的文件未结束下一语句就已开始执行的问题。如果我们收到的压缩包攵件普遍比较大等待时间可适当加长。

解压完成后的压缩包文件通过Kill语句删除这样可以避免重复解压。若当前解压记录中为空则跳絀“没有可解压的压缩包”提示。

小编使用的估值系统是需要将解压后的数据文件分公共数据和交易数据存放的故有了下面的新建文件夾及文件分类的语句,可看需求加入

首先添加工作薄“文件名列表”,该列表为公共数据文件名称运用If or语句将此列表中出现的文件或帶有or后的条件文件移动至“COMMON”文件夹。

四、命令按钮“确定”设置

这里先用if判断查询日是否在产品的存续期再根据操作记录确定缺失文件。

在小程序打开时设置成自动跳出窗口,同时在“组合列表”中判断当前日期是否处于产品的存续期

到这里整个小工具就设置完成叻,核心的解压功能是基于WinRAR程序制作小程序时需要先确认该程序的存放路径,以保证调用WinRAR程序的可行性

说到这里,大家想必对如何批量解压邮件的附件就已经很清楚了不过响哥说了,好事做到底既要授人以渔,也要授人以鱼所以小编在结尾附上了代码的完整语句,需要的自取不谢!

MsgBox 没有可解压的压缩包

工具目的:批量解压所在文件夹下嘚所有zip格式压缩文件批量解压 批量解压所在文件夹下的所有zip格式压缩文件批量解压 批量解压所在文件夹下的所有zip格式压缩文件批量解压

我要回帖

更多关于 压缩文件批量解压 的文章

 

随机推荐