Okay, this one is on me! I think I see what the problem is: The destination files are on a thumb drive formatted as Microsoft NTFS. I just noticed that even if I change the case in the file name manually, it reverts back to the original case. For instance, changing the word “Of” to “of” reverts back to “Of” after committing the change by hitting enter. It will stick if I change it a couple of times, but the first time (as a paste would be) changes right back to whatever the case was originally. Odd…
Correct. Keyboard Maestro will not let you move/rename a file on to an existing file, including if the existing file is the same as the original file with different case.
I suppose one way to work around this would be to test for an "identical" name that also has case differences. If "true" paste the name from the source file with an added character appended to "force" the case change, then erase that added character after the paste. Or simply go with the AppleScript solution, using KM to trigger the script.
We're not pasting when using the KM move/rename action, we're essentially moving the file to a new name.
But you're correct in principle. When detecting a string that is equal except for case differences we write to a temp file with a different name and then rewrite to the desired name.
I approached it a little bit differently for now. Since the source file names have single digits for tracks 1-9 and the destination has a leading zero for tracks 01-09, the case of those names are handled exactly as they are in the source names, as the source names actually have different characters (no leading zeroes).
For all other tracks from Track 10 on, I have a KM macro that appends the letter "z" to the end of the destination file names, just before the "." for the extension. So, for instance, the destination file name of
10 All Quiet On The Western Front.wav would become 10 All Quiet On The Western Frontz.wav
Now, the name of the source cue is
10 All Quiet on the Western Front.wav
and that name with the proper case becomes the exact same name of the destination file, since the destination has a different character (z) than the source cue.
It’s a very quick process and handles the issue correctly, so I think that is the way I’ll go for now.