I was in a pinch. I needed to import 12.000+ files with different filetypes into a WordPress Media Library. The easy part, uploading the files with the folder structure to
wp-content/uploads was done quickly, but WordPress Media Library didn’t “see” the files.
After some quick reading I found out that they need to be imported into the Library, and after some more reading I found wp-cli works with ‘xargs’ in Bash.
The command I ended using is as follows through SSH:
find /tmp -name '*.pdf' -or -name '*.doc' -or -name '*.jpg' -or -name '*.xls' -or -name '*.docx' -or -name '*.xlsx' | xarg wp media import
Then you can regenerate all the thumbnails using
wp media regenerate --all
I recommend using
screen as the import could stop if the connection gets down, because for me on a Digital Ocean server with 2gb took around 2-3 hours.