copy files easily
npm install copyfiles -g
copy some files, give it a bunch of arguments, (which can include globs), the last one is the out directory (which it will create if necessary).
copyfiles foo foobar foo/bar/*.js out
you now have a directory called out, with the files foo and foobar in it, it also has a directory named foo with a directory named bar in it that has all the files from foo/bar that match the glob.
If all the files are in a folder that you don't want in the path out path, ex:
copyfiles something/*.js out
which would put all the js files in out/something
, you can use the --up
(or -u
) option
copyfiles -u 1 something/*.js out
which would put all the js files in out
you can also just do -f which will flatten all the output into one directory, so with files ./foo/a.txt and ./foo/bar/b.txt
copyfiles -f ./foo/*.txt ./foo/bar/*.txt out
will put a.txt and b.txt into out
if your terminal doesn't support globstars then you can quote them
copyfiles -f ./foo/**/*.txt out
does not work by default on a mac
but
copyfiles -f './foo/**/*.txt' out
does.
You could quote globstars as a part of input:
copyfiles some.json './some_folder/*.json' ./dist/ && echo 'JSON files copied.'
also creates a copyup
command which is identical to copyfiles
but -up
defaults to 1
var copyfiles = require('copyfiles');
copyfiles([paths], opt, callback);
takes an array of paths, last one is the destination path, also takes an optional argument which the -u option if a number, otherwise if it's true
it's the flat option.