You may want to look up the term "debouncer". Here is a simple implementation I haven't tested:
https://gist.github.com/lcnvdl/43bfdcb781d799df6b7e8e66fe3792db
But looks fine to me.
You just call Debounce() every time something changes on your directory and pass your method that will copy the files.