nodejs 批量压缩文件或文件夹


/** * Created by Administrator on 2017/6/9. */ var fs = require('fs'); var archiver = require('archiver'); var path=__dirname; var dirList = fs.readdirSync(path); var status=true; dirList.forEach(function(item){ console.log(item); // create a file to stream archive data to. var output = fs.createWriteStream('F:\\work\\wxapp\\input\\'+item+'.zip'); var archive = archiver('zip', { zlib: { level: 9 } // Sets the compression level. }); // listen for all archive data to be written output.on('close', function() { console.log(archive.pointer()/1024/1024 + 'M'); console.log('压缩完成'); }); // good practice to catch this error explicitly archive.on('error', function(err) { status=false; throw err; }); // pipe archive data to the file archive.pipe(output); archive.directory(item+'/'); archive.finalize(); }); // append a file from stream /*var file1 = __dirname + '/120个小程序源码/AppleMusic'; archive.append(fs.createReadStream(file1), { name: 'AppleMusic' });*/ // append a file from string /*archive.append('string cheese!', { name: 'file2.txt' }); // append a file from buffer var buffer3 = new Buffer('buff it!'); archive.append(buffer3, { name: 'file3.txt' }); // append a file archive.file('file1.txt', { name: 'file4.txt' }); // append files from a directory archive.directory('subdir/'); // append files from a glob pattern archive.glob('subdir/!*.txt');*/ // finalize the archive (ie we are done appending files but streams have to finish yet) //archive.finalize();




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM