Import a folder containing HTML files and images to WordPress

It depends on what the HTML contains. You might be able to create a script that reads each HTML file, inserts a Page, adds Media, and populates the content – but that will likely be more effort than manually setting the pages up yourself in the Editor.

I’m not sure you could fully script the links as content, unless you first create a Page for each HTML file and save its slug, then populate the content of each Page separately (so its slug already exists and will point to a valid URL).

HTML can contain so much, and WordPress themes usually output a sitewide header and footer – so your opening <html> tag, the <head></head> tag, etc. are likely not to be something you want pulled into the actual Page content. If you have a lot of custom elements – such as CSS stylesheets or JS files – you may need to create blocks for those, or find another way to present the content, like creating Page templates in your (child) theme.