1 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
試試這個(gè):
const glob = require("glob");
const zipFiles = glob.sync('sourcefiles/*.zip');
gulp.task('unzip-filtered-rename', function (done) {
zipFiles.forEach(function (zipFile) {
const zipFileBase = path.parse(zipFile).name;
return gulp.src(zipFile)
// .pipe(debug())
// .pipe(plumber({
// errorHandler: notify.onError('unzip-filtered-rename error: <%= error.message %>')
// }))
// .pipe(changed(paths.excel_targetdir_local_glob, {
// extension: '.xml'
// }))
// .pipe(unzip({filter : function(entry){return minimatch(entry.path, "contents.xml")}}))
.pipe(rename({
basename: zipFileBase,
}))
.pipe(gulp.dest("./sourcefiles_unpacked")) // sourcefiles_unpacked: "./sourcefiles_unpacked/"
});
done();
});
我注釋掉了您僅出于測(cè)試目的而做的其他事情。通過(guò) forEach 或 map 運(yùn)行每個(gè)文件允許您在流的開(kāi)頭設(shè)置一個(gè)變量,該變量將在以下流中可用。
另請(qǐng)參閱如何使用 Gulp 解壓縮同一文件夾中的多個(gè)文件,以獲取有關(guān)設(shè)置要在流中使用的變量的更多討論。
添加回答
舉報(bào)