Assuming you are on windows:
What I always do is use subst to create a drive letter association with part of the path.
Then go to the new drive letter and navigate to the files that have long names. You should now be able to rename/delete/etc them. The reason this works is because the path itself is no longer containing >255 chars.
To create a subst folder
- Start a command prompt (no admin privileges needed)
- Use
cd to navigate to the folder you want to go (you can use tab to autocomplete names
- type
subst j: . to create the driveletter association. (instead of the . you can also type the entire path)
- Now in Explorer, you have a new drive letter in This PC. Go to it and do whatever you need to do to the .cache files.
- Return to your cmd window and type
subst /d j: to remove the drive or alternatively, restart your pc.
EDIT: A trick I learned which can shorten this quite a bit. From the Explorer window where you have trouble, click the address bar so you can type in it, then type cmd and press Enter to start a command prompt at that location, then proceed at step 3. :)
EDIT2: Okay, this trick can be expanded even further.
If you are in explorer at the right path, just type in subst j: . in the address bar and press enter. A command window will pop up, execute the command and close again, and there you go, a new drive pops up in explorer.
EDIT3: In case you have many folders with paths too long to be deleted, and you just want everything gone, you can also go the powershell route. Here's the command:
Run powershell as admin if you get access denied errors
delete-item -literalpath "\\?\C:\PathToFile\Etc" -recurse
By using -literalpath and using the \\?\ prefix we instruct windows to use unicode paths, which support up to 32767 characters rather than 260.