我在结构存储库下面:
src
-common
- asd.ts
- filter.ts
-checking
-hi.json
-third-party
-src
-common
-hello.ts
-two.ts
-three.ts
在这里,我想将文件从第三方/ src / common移动到src / common,但我必须exlcude three.ts文件。
我尝试过如下,但它会移动所有文件:
gulp.task('common-update', function (done) {
shelljs.cp('-rf', './third-party/angularSB/src/app/common/*', './src/app/common/');
done();
});
shelljs
的cp
函数在您要求基于目录或通配符进行复制时无法排除文件。
解决此问题的选项包括:
cp
复制集合,然后使用rm
删除目标中不需要的特定文件。cp
分别复制每个文件。copyfiles
。我这样试过它有效
gulp.task('common-update', function (done) {
var check = glob.sync('./third-party/src/common/*');
for (var i = 0; i < check.length - 1; i++) {
if (check[i].indexOf('three.ts') === -1) {
shelljs.cp('-rf', check[i], './src/common/');
}
}
done();
});