Still need to log in to GitHub but a C++ version doesn’t appear to be too difficult with few dependencies, especially with the filesystem library being added circa 2018. May take a stab at it and see if things start coming back to me as it’s been a good while since I did coding and I have been in the mood for more than just thinking up algorithms. 🙂
Essentially, we can do with addition and subtraction with the ASCII values, going character by character in the string. For proper case, we’d also check each substring, delimited by a space, and compare that to the word list for proper case. Another option is to use the transform function on the string and combine it with the toupper() or tolower() functions to do the whole string in one go and add it to to the new path list. Finally, we’d take our collection of paths and apply the rename function on them. Sorry if the algorithm is pretty rough, I’m pretty out of practice 🙂