我在文件夹中有一个zip文件,我想提取其(压缩)文件之一,并在文件夹source file basename + .xml
中给它一个文件名模式./sourcefiles_unpacked/
,>
./sourcefiles/test.zip
=>
./sourcefiles/test.zip ./sourcefiles_unpacked/test.xml
解压缩和过滤与gulp-unzip配合得很好,但是我不确定如何从gulp.src调用中访问文件名。
gulp.task('unzip-filtered-rename', function() { return gulp.src(paths.unzip_sourcefiles) // .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(gulp.rename(function(path){ // ? What do I put here to rename each target file to // ? its originating zip file's basename? })) // "==> test.xml", .pipe(gulp.dest(paths.sourcefiles_unpacked)) // sourcefiles_unpacked: "./sourcefiles_unpacked/" });
gulp.rename()一经调用,该块便已重命名为其名称,如zipfile中一样。
我在文件夹中有一个zip文件,我想解压缩其中的一个文件(压缩文件),并在./sourcefiles_unpacked/ ./sourcefiles/test.zip =>文件夹中为其提供文件名模式源文件基本名称+ .xml。 。/ ...
尝试一下: