排除除两个以外的所有文件

时间:2016-09-14 09:34:44

标签: gulp

我正在喂养gulp.src()。我有一个bin目录,我要排除除 two 之外的所有文件:

bin/
    keep-me.bat
    keep-me-too.bat
    ...

我找到了排除所有文件的方法,但一个

gulp.src([
    path.normalize(dirExport + '/..') + '/**',
    '!' + dirExport + '/bin/!(keep-me.bat)'
], {
    dot: true
})

......但我完全无法延长这一点。无论我尝试什么,都包括或排除整个目录,例如:

// Not working
'!' + dirExport + '/bin/!(keep-me.bat)',
'!' + dirExport + '/bin/!(keep-me-too.bat)'

如何将第二个文件列入白名单?

1 个答案:

答案 0 :(得分:1)

您可以在!()中指定其他模式,方法是将其与|分开。来自the glob docs

  

!(pattern|pattern|pattern)匹配任何与所提供的任何模式都不匹配的内容。

所以在你的情况下:

gulp.src([
    path.normalize(dirExport + '/..') + '/**',
    '!' + dirExport + '/bin/!(keep-me.bat|keep-me-too.bat)'
], {
    dot: true
})