CP command does not provide option to exclude files.
As an alternate option, we can user rsync which also faster than cp.
for example : To exclude hidden files following can be used.
rsync -r sourcePath targetPath --exclude='.*
Similarly other option can also be explored with -help.
Cheers,
Kapil