I ran
/bin/find /home/user/myfiles \! -name '.htaccess' -exec rm -r {} \;
and it removed everything in myfiles and the myfiles directory itself if .htaccess doesn't exist.
What I was expecting is that it would find and remove files within the directory, except for any .htacess file.
What did I do wrong?