>>107854860
I use this script on linux, rewriting it for windows is up to you.
find . -type f -name "*.png" -print0 | xargs -0 -r -I{} -P`nproc` /bin/sh -c 'f="{}";echo "Converting $f";cjxl -d 0 -e 8 "${f}" "${f%.*}.jxl" && rm "$f"'
Grab some test samples and visually A/B test the files before running something like this over your collection. Basically it spawns as many instances as you have threads available to look for every png in the working directory (recursively), converts them and only if the conversion is a success (meaning cjxl is done encoding) the original png is then deleted.
If you end up going this route, post the script you end up with, it'd be interesting to see how this is done in windows.