最近老师给了个任务,我要处理一大批数据,但是通过filezilla从服务器上下载的文件都是被压缩过的,手动解压过于耗时。
一年的数据,有365*250左右个压缩文件。
在网上看到可以用在windows下用bat批处理命令调用winrar,于是我也写了一个命令。
@echo off
set WinRAR="D:\Program Files\WinRAR\WinRAR.exe"
for /r . %%a in (*.gz ) do (
cd "%%~pa"
%WinRAR% x "%%a"
del "%%a"
)
结果卡的要死,一个上午才解压了一半的文件。
最后突发奇想,既然winrar可以用命令行方式调用,那bandzip或许也可以,于是我修改了一行代码,
@echo off // 清除变量
for /r . %%a in (*.gz ) do ( //.gz是压缩包的格式,我这里是gz
cd "%%~pa" // 切换到要解压的文件夹
bz.exe x "%%a" // bz.exe是命令, x是使用完整路径解压
del "%%a" //del 删除压缩文件,可以不加!!!
)
(tips:直接把代码写在txt中,然后修改格式为bat就OK了)
处理速度飞快,,,快了好几倍!!!!
解压用bandizip确实快了好多